/*
 * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License as published by the
 * Free Software Foundation; either version 2 of the License, or (at your
 * option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
 * more details.
 *
 * You should have received a copy of the GNU General Public License along
 * with this program. If not, see <http://www.gnu.org/licenses/>.
 */

// DO NOT EDIT!
// Autogenerated from DB2Structure.h

#ifndef DB2LoadInfo_h__
#define DB2LoadInfo_h__

#include "DB2DatabaseLoader.h"
#include "DB2Metadata.h"

struct AchievementLoadInfo
{
    static constexpr DB2FieldMeta Fields[19] =
    {
        { false, FT_STRING, "Description" },
        { false, FT_STRING, "Title" },
        { false, FT_STRING, "Reward" },
        { false, FT_INT, "ID" },
        { true, FT_SHORT, "InstanceID" },
        { true, FT_BYTE, "Faction" },
        { true, FT_INT, "Supercedes" },
        { true, FT_SHORT, "Category" },
        { true, FT_BYTE, "MinimumCriteria" },
        { true, FT_BYTE, "Points" },
        { true, FT_INT, "Flags" },
        { false, FT_SHORT, "UiOrder" },
        { true, FT_INT, "IconFileID" },
        { true, FT_INT, "RewardItemID" },
        { false, FT_INT, "CriteriaTree" },
        { true, FT_SHORT, "SharesCriteria" },
        { true, FT_INT, "CovenantID" },
        { true, FT_INT, "HiddenBeforeDisplaySeason" },
        { true, FT_INT, "LegacyAfterTimeEvent" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 19, &AchievementMeta::Instance, HOTFIX_SEL_ACHIEVEMENT };
};

struct AchievementCategoryLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_STRING, "Name" },
        { false, FT_INT, "ID" },
        { true, FT_SHORT, "Parent" },
        { false, FT_BYTE, "UiOrder" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &Achievement_CategoryMeta::Instance, HOTFIX_SEL_ACHIEVEMENT_CATEGORY };
};

struct AdventureJournalLoadInfo
{
    static constexpr DB2FieldMeta Fields[23] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Name" },
        { false, FT_STRING, "Description" },
        { false, FT_STRING, "ButtonText" },
        { false, FT_STRING, "RewardDescription" },
        { false, FT_STRING, "ContinueDescription" },
        { false, FT_BYTE, "Type" },
        { false, FT_INT, "PlayerConditionID" },
        { true, FT_INT, "Flags" },
        { false, FT_BYTE, "ButtonActionType" },
        { true, FT_INT, "TextureFileDataID" },
        { false, FT_SHORT, "LfgDungeonID" },
        { true, FT_INT, "QuestID" },
        { false, FT_SHORT, "BattleMasterListID" },
        { false, FT_BYTE, "PriorityMin" },
        { false, FT_BYTE, "PriorityMax" },
        { false, FT_SHORT, "CurrencyType" },
        { false, FT_INT, "CurrencyQuantity" },
        { false, FT_SHORT, "UiMapID" },
        { false, FT_INT, "BonusPlayerConditionID1" },
        { false, FT_INT, "BonusPlayerConditionID2" },
        { false, FT_BYTE, "BonusValue1" },
        { false, FT_BYTE, "BonusValue2" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 23, &AdventureJournalMeta::Instance, HOTFIX_SEL_ADVENTURE_JOURNAL };
};

struct AdventureMapPoiLoadInfo
{
    static constexpr DB2FieldMeta Fields[14] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Title" },
        { false, FT_STRING, "Description" },
        { false, FT_FLOAT, "WorldPositionX" },
        { false, FT_FLOAT, "WorldPositionY" },
        { true, FT_BYTE, "Type" },
        { false, FT_INT, "PlayerConditionID" },
        { false, FT_INT, "QuestID" },
        { false, FT_INT, "LfgDungeonID" },
        { true, FT_INT, "RewardItemID" },
        { false, FT_INT, "UiTextureAtlasMemberID" },
        { false, FT_INT, "UiTextureKitID" },
        { true, FT_INT, "MapID" },
        { false, FT_INT, "AreaTableID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 14, &AdventureMapPOIMeta::Instance, HOTFIX_SEL_ADVENTURE_MAP_POI };
};

struct AnimationDataLoadInfo
{
    static constexpr DB2FieldMeta Fields[6] =
    {
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "Fallback" },
        { false, FT_BYTE, "BehaviorTier" },
        { true, FT_INT, "BehaviorID" },
        { true, FT_INT, "Flags1" },
        { true, FT_INT, "Flags2" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 6, &AnimationDataMeta::Instance, HOTFIX_SEL_ANIMATION_DATA };
};

struct AnimKitLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "OneShotDuration" },
        { false, FT_SHORT, "OneShotStopAnimKitID" },
        { false, FT_SHORT, "LowDefAnimKitID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &AnimKitMeta::Instance, HOTFIX_SEL_ANIM_KIT };
};

struct AreaGroupMemberLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "AreaID" },
        { false, FT_INT, "AreaGroupID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &AreaGroupMemberMeta::Instance, HOTFIX_SEL_AREA_GROUP_MEMBER };
};

struct AreaTableLoadInfo
{
    static constexpr DB2FieldMeta Fields[28] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING_NOT_LOCALIZED, "ZoneName" },
        { false, FT_STRING, "AreaName" },
        { false, FT_SHORT, "ContinentID" },
        { false, FT_SHORT, "ParentAreaID" },
        { true, FT_SHORT, "AreaBit" },
        { false, FT_BYTE, "SoundProviderPref" },
        { false, FT_BYTE, "SoundProviderPrefUnderwater" },
        { false, FT_SHORT, "AmbienceID" },
        { false, FT_SHORT, "UwAmbience" },
        { false, FT_SHORT, "ZoneMusic" },
        { false, FT_SHORT, "UwZoneMusic" },
        { false, FT_SHORT, "IntroSound" },
        { false, FT_INT, "UwIntroSound" },
        { false, FT_BYTE, "FactionGroupMask" },
        { false, FT_FLOAT, "AmbientMultiplier" },
        { true, FT_INT, "MountFlags" },
        { true, FT_SHORT, "PvpCombatWorldStateID" },
        { false, FT_BYTE, "WildBattlePetLevelMin" },
        { false, FT_BYTE, "WildBattlePetLevelMax" },
        { false, FT_BYTE, "WindSettingsID" },
        { true, FT_INT, "ContentTuningID" },
        { true, FT_INT, "Flags1" },
        { true, FT_INT, "Flags2" },
        { false, FT_SHORT, "LiquidTypeID1" },
        { false, FT_SHORT, "LiquidTypeID2" },
        { false, FT_SHORT, "LiquidTypeID3" },
        { false, FT_SHORT, "LiquidTypeID4" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 28, &AreaTableMeta::Instance, HOTFIX_SEL_AREA_TABLE };
};

struct AreaTriggerLoadInfo
{
    static constexpr DB2FieldMeta Fields[17] =
    {
        { false, FT_FLOAT, "PosX" },
        { false, FT_FLOAT, "PosY" },
        { false, FT_FLOAT, "PosZ" },
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "ContinentID" },
        { true, FT_INT, "PhaseUseFlags" },
        { true, FT_SHORT, "PhaseID" },
        { true, FT_SHORT, "PhaseGroupID" },
        { false, FT_FLOAT, "Radius" },
        { false, FT_FLOAT, "BoxLength" },
        { false, FT_FLOAT, "BoxWidth" },
        { false, FT_FLOAT, "BoxHeight" },
        { false, FT_FLOAT, "BoxYaw" },
        { true, FT_BYTE, "ShapeType" },
        { true, FT_SHORT, "ShapeID" },
        { true, FT_INT, "AreaTriggerActionSetID" },
        { true, FT_BYTE, "Flags" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 17, &AreaTriggerMeta::Instance, HOTFIX_SEL_AREA_TRIGGER };
};

struct AreaTriggerActionSetLoadInfo
{
    static constexpr DB2FieldMeta Fields[2] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "Flags" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 2, &AreaTriggerActionSetMeta::Instance, HOTFIX_SEL_AREA_TRIGGER_ACTION_SET };
};

struct ArmorLocationLoadInfo
{
    static constexpr DB2FieldMeta Fields[6] =
    {
        { false, FT_INT, "ID" },
        { false, FT_FLOAT, "Clothmodifier" },
        { false, FT_FLOAT, "Leathermodifier" },
        { false, FT_FLOAT, "Chainmodifier" },
        { false, FT_FLOAT, "Platemodifier" },
        { false, FT_FLOAT, "Modifier" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 6, &ArmorLocationMeta::Instance, HOTFIX_SEL_ARMOR_LOCATION };
};

struct ArtifactLoadInfo
{
    static constexpr DB2FieldMeta Fields[11] =
    {
        { false, FT_STRING, "Name" },
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "UiTextureKitID" },
        { true, FT_INT, "UiNameColor" },
        { true, FT_INT, "UiBarOverlayColor" },
        { true, FT_INT, "UiBarBackgroundColor" },
        { false, FT_SHORT, "ChrSpecializationID" },
        { false, FT_BYTE, "Flags" },
        { false, FT_BYTE, "ArtifactCategoryID" },
        { false, FT_INT, "UiModelSceneID" },
        { false, FT_INT, "SpellVisualKitID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 11, &ArtifactMeta::Instance, HOTFIX_SEL_ARTIFACT };
};

struct ArtifactAppearanceLoadInfo
{
    static constexpr DB2FieldMeta Fields[16] =
    {
        { false, FT_STRING, "Name" },
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "ArtifactAppearanceSetID" },
        { false, FT_BYTE, "DisplayIndex" },
        { false, FT_INT, "UnlockPlayerConditionID" },
        { false, FT_BYTE, "ItemAppearanceModifierID" },
        { true, FT_INT, "UiSwatchColor" },
        { false, FT_FLOAT, "UiModelSaturation" },
        { false, FT_FLOAT, "UiModelOpacity" },
        { false, FT_BYTE, "OverrideShapeshiftFormID" },
        { false, FT_INT, "OverrideShapeshiftDisplayID" },
        { false, FT_INT, "UiItemAppearanceID" },
        { false, FT_INT, "UiAltItemAppearanceID" },
        { false, FT_BYTE, "Flags" },
        { false, FT_SHORT, "UiCameraID" },
        { false, FT_INT, "UsablePlayerConditionID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 16, &ArtifactAppearanceMeta::Instance, HOTFIX_SEL_ARTIFACT_APPEARANCE };
};

struct ArtifactAppearanceSetLoadInfo
{
    static constexpr DB2FieldMeta Fields[9] =
    {
        { false, FT_STRING, "Name" },
        { false, FT_STRING, "Description" },
        { false, FT_INT, "ID" },
        { false, FT_BYTE, "DisplayIndex" },
        { false, FT_SHORT, "UiCameraID" },
        { false, FT_SHORT, "AltHandUICameraID" },
        { true, FT_BYTE, "ForgeAttachmentOverride" },
        { false, FT_BYTE, "Flags" },
        { false, FT_INT, "ArtifactID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 9, &ArtifactAppearanceSetMeta::Instance, HOTFIX_SEL_ARTIFACT_APPEARANCE_SET };
};

struct ArtifactCategoryLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { true, FT_SHORT, "XpMultCurrencyID" },
        { true, FT_SHORT, "XpMultCurveID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &ArtifactCategoryMeta::Instance, HOTFIX_SEL_ARTIFACT_CATEGORY };
};

struct ArtifactPowerLoadInfo
{
    static constexpr DB2FieldMeta Fields[8] =
    {
        { false, FT_FLOAT, "DisplayPosX" },
        { false, FT_FLOAT, "DisplayPosY" },
        { false, FT_INT, "ID" },
        { false, FT_BYTE, "ArtifactID" },
        { false, FT_BYTE, "MaxPurchasableRank" },
        { true, FT_INT, "Label" },
        { false, FT_BYTE, "Flags" },
        { false, FT_BYTE, "Tier" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 8, &ArtifactPowerMeta::Instance, HOTFIX_SEL_ARTIFACT_POWER };
};

struct ArtifactPowerLinkLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "PowerA" },
        { false, FT_SHORT, "PowerB" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &ArtifactPowerLinkMeta::Instance, HOTFIX_SEL_ARTIFACT_POWER_LINK };
};

struct ArtifactPowerPickerLoadInfo
{
    static constexpr DB2FieldMeta Fields[2] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "PlayerConditionID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 2, &ArtifactPowerPickerMeta::Instance, HOTFIX_SEL_ARTIFACT_POWER_PICKER };
};

struct ArtifactPowerRankLoadInfo
{
    static constexpr DB2FieldMeta Fields[6] =
    {
        { false, FT_INT, "ID" },
        { false, FT_BYTE, "RankIndex" },
        { true, FT_INT, "SpellID" },
        { false, FT_SHORT, "ItemBonusListID" },
        { false, FT_FLOAT, "AuraPointsOverride" },
        { false, FT_INT, "ArtifactPowerID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 6, &ArtifactPowerRankMeta::Instance, HOTFIX_SEL_ARTIFACT_POWER_RANK };
};

struct ArtifactQuestXpLoadInfo
{
    static constexpr DB2FieldMeta Fields[11] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "Difficulty1" },
        { false, FT_INT, "Difficulty2" },
        { false, FT_INT, "Difficulty3" },
        { false, FT_INT, "Difficulty4" },
        { false, FT_INT, "Difficulty5" },
        { false, FT_INT, "Difficulty6" },
        { false, FT_INT, "Difficulty7" },
        { false, FT_INT, "Difficulty8" },
        { false, FT_INT, "Difficulty9" },
        { false, FT_INT, "Difficulty10" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 11, &ArtifactQuestXPMeta::Instance, HOTFIX_SEL_ARTIFACT_QUEST_XP };
};

struct ArtifactTierLoadInfo
{
    static constexpr DB2FieldMeta Fields[6] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "ArtifactTier" },
        { false, FT_INT, "MaxNumTraits" },
        { false, FT_INT, "MaxArtifactKnowledge" },
        { false, FT_INT, "KnowledgePlayerCondition" },
        { false, FT_INT, "MinimumEmpowerKnowledge" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 6, &ArtifactTierMeta::Instance, HOTFIX_SEL_ARTIFACT_TIER };
};

struct ArtifactUnlockLoadInfo
{
    static constexpr DB2FieldMeta Fields[6] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "PowerID" },
        { false, FT_BYTE, "PowerRank" },
        { false, FT_SHORT, "ItemBonusListID" },
        { false, FT_INT, "PlayerConditionID" },
        { false, FT_INT, "ArtifactID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 6, &ArtifactUnlockMeta::Instance, HOTFIX_SEL_ARTIFACT_UNLOCK };
};

struct AuctionHouseLoadInfo
{
    static constexpr DB2FieldMeta Fields[5] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Name" },
        { false, FT_SHORT, "FactionID" },
        { false, FT_BYTE, "DepositRate" },
        { false, FT_BYTE, "ConsignmentRate" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 5, &AuctionHouseMeta::Instance, HOTFIX_SEL_AUCTION_HOUSE };
};

struct AzeriteEmpoweredItemLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "ItemID" },
        { false, FT_INT, "AzeriteTierUnlockSetID" },
        { false, FT_INT, "AzeritePowerSetID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &AzeriteEmpoweredItemMeta::Instance, HOTFIX_SEL_AZERITE_EMPOWERED_ITEM };
};

struct AzeriteEssenceLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Name" },
        { false, FT_STRING, "Description" },
        { true, FT_INT, "SpecSetID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &AzeriteEssenceMeta::Instance, HOTFIX_SEL_AZERITE_ESSENCE };
};

struct AzeriteEssencePowerLoadInfo
{
    static constexpr DB2FieldMeta Fields[9] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "SourceAlliance" },
        { false, FT_STRING, "SourceHorde" },
        { true, FT_INT, "AzeriteEssenceID" },
        { false, FT_BYTE, "Tier" },
        { true, FT_INT, "MajorPowerDescription" },
        { true, FT_INT, "MinorPowerDescription" },
        { true, FT_INT, "MajorPowerActual" },
        { true, FT_INT, "MinorPowerActual" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 9, &AzeriteEssencePowerMeta::Instance, HOTFIX_SEL_AZERITE_ESSENCE_POWER };
};

struct AzeriteItemLoadInfo
{
    static constexpr DB2FieldMeta Fields[2] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "ItemID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 2, &AzeriteItemMeta::Instance, HOTFIX_SEL_AZERITE_ITEM };
};

struct AzeriteItemMilestonePowerLoadInfo
{
    static constexpr DB2FieldMeta Fields[5] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "RequiredLevel" },
        { true, FT_INT, "AzeritePowerID" },
        { true, FT_INT, "Type" },
        { true, FT_INT, "AutoUnlock" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 5, &AzeriteItemMilestonePowerMeta::Instance, HOTFIX_SEL_AZERITE_ITEM_MILESTONE_POWER };
};

struct AzeriteKnowledgeMultiplierLoadInfo
{
    static constexpr DB2FieldMeta Fields[2] =
    {
        { false, FT_INT, "ID" },
        { false, FT_FLOAT, "Multiplier" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 2, &AzeriteKnowledgeMultiplierMeta::Instance, HOTFIX_SEL_AZERITE_KNOWLEDGE_MULTIPLIER };
};

struct AzeriteLevelInfoLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { false, FT_LONG, "BaseExperienceToNextLevel" },
        { false, FT_LONG, "MinimumExperienceToNextLevel" },
        { true, FT_INT, "ItemLevel" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &AzeriteLevelInfoMeta::Instance, HOTFIX_SEL_AZERITE_LEVEL_INFO };
};

struct AzeritePowerLoadInfo
{
    static constexpr DB2FieldMeta Fields[5] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "SpellID" },
        { true, FT_INT, "ItemBonusListID" },
        { true, FT_INT, "SpecSetID" },
        { true, FT_INT, "Flags" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 5, &AzeritePowerMeta::Instance, HOTFIX_SEL_AZERITE_POWER };
};

struct AzeritePowerSetMemberLoadInfo
{
    static constexpr DB2FieldMeta Fields[6] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "AzeritePowerSetID" },
        { true, FT_INT, "AzeritePowerID" },
        { true, FT_INT, "Class" },
        { false, FT_BYTE, "Tier" },
        { true, FT_INT, "OrderIndex" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 6, &AzeritePowerSetMemberMeta::Instance, HOTFIX_SEL_AZERITE_POWER_SET_MEMBER };
};

struct AzeriteTierUnlockLoadInfo
{
    static constexpr DB2FieldMeta Fields[5] =
    {
        { false, FT_INT, "ID" },
        { false, FT_BYTE, "ItemCreationContext" },
        { false, FT_BYTE, "Tier" },
        { false, FT_BYTE, "AzeriteLevel" },
        { false, FT_INT, "AzeriteTierUnlockSetID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 5, &AzeriteTierUnlockMeta::Instance, HOTFIX_SEL_AZERITE_TIER_UNLOCK };
};

struct AzeriteTierUnlockSetLoadInfo
{
    static constexpr DB2FieldMeta Fields[2] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "Flags" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 2, &AzeriteTierUnlockSetMeta::Instance, HOTFIX_SEL_AZERITE_TIER_UNLOCK_SET };
};

struct AzeriteUnlockMappingLoadInfo
{
    static constexpr DB2FieldMeta Fields[6] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "ItemLevel" },
        { true, FT_INT, "ItemBonusListHead" },
        { true, FT_INT, "ItemBonusListShoulders" },
        { true, FT_INT, "ItemBonusListChest" },
        { false, FT_INT, "AzeriteUnlockMappingSetID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 6, &AzeriteUnlockMappingMeta::Instance, HOTFIX_SEL_AZERITE_UNLOCK_MAPPING };
};

struct BankBagSlotPricesLoadInfo
{
    static constexpr DB2FieldMeta Fields[2] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "Cost" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 2, &BankBagSlotPricesMeta::Instance, HOTFIX_SEL_BANK_BAG_SLOT_PRICES };
};

struct BannedAddonsLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING_NOT_LOCALIZED, "Name" },
        { false, FT_STRING_NOT_LOCALIZED, "Version" },
        { false, FT_BYTE, "Flags" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &BannedAddonsMeta::Instance, HOTFIX_SEL_BANNED_ADDONS };
};

struct BarberShopStyleLoadInfo
{
    static constexpr DB2FieldMeta Fields[8] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "DisplayName" },
        { false, FT_STRING, "Description" },
        { false, FT_BYTE, "Type" },
        { false, FT_FLOAT, "CostModifier" },
        { false, FT_BYTE, "Race" },
        { false, FT_BYTE, "Sex" },
        { false, FT_BYTE, "Data" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 8, &BarberShopStyleMeta::Instance, HOTFIX_SEL_BARBER_SHOP_STYLE };
};

struct BattlePetAbilityLoadInfo
{
    static constexpr DB2FieldMeta Fields[8] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Name" },
        { false, FT_STRING, "Description" },
        { true, FT_INT, "IconFileDataID" },
        { true, FT_BYTE, "PetTypeEnum" },
        { false, FT_INT, "Cooldown" },
        { false, FT_SHORT, "BattlePetVisualID" },
        { false, FT_BYTE, "Flags" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 8, &BattlePetAbilityMeta::Instance, HOTFIX_SEL_BATTLE_PET_ABILITY };
};

struct BattlePetBreedQualityLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "MaxQualityRoll" },
        { false, FT_FLOAT, "StateMultiplier" },
        { false, FT_BYTE, "QualityEnum" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &BattlePetBreedQualityMeta::Instance, HOTFIX_SEL_BATTLE_PET_BREED_QUALITY };
};

struct BattlePetBreedStateLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "BattlePetStateID" },
        { false, FT_SHORT, "Value" },
        { false, FT_INT, "BattlePetBreedID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &BattlePetBreedStateMeta::Instance, HOTFIX_SEL_BATTLE_PET_BREED_STATE };
};

struct BattlePetSpeciesLoadInfo
{
    static constexpr DB2FieldMeta Fields[12] =
    {
        { false, FT_STRING, "Description" },
        { false, FT_STRING, "SourceText" },
        { false, FT_INT, "ID" },
        { true, FT_INT, "CreatureID" },
        { true, FT_INT, "SummonSpellID" },
        { true, FT_INT, "IconFileDataID" },
        { true, FT_BYTE, "PetTypeEnum" },
        { true, FT_INT, "Flags" },
        { true, FT_BYTE, "SourceTypeEnum" },
        { true, FT_INT, "CardUIModelSceneID" },
        { true, FT_INT, "LoadoutUIModelSceneID" },
        { true, FT_INT, "CovenantID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 12, &BattlePetSpeciesMeta::Instance, HOTFIX_SEL_BATTLE_PET_SPECIES };
};

struct BattlePetSpeciesStateLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "BattlePetStateID" },
        { true, FT_INT, "Value" },
        { false, FT_INT, "BattlePetSpeciesID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &BattlePetSpeciesStateMeta::Instance, HOTFIX_SEL_BATTLE_PET_SPECIES_STATE };
};

struct BattlemasterListLoadInfo
{
    static constexpr DB2FieldMeta Fields[33] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Name" },
        { false, FT_STRING, "GameType" },
        { false, FT_STRING, "ShortDescription" },
        { false, FT_STRING, "LongDescription" },
        { true, FT_BYTE, "InstanceType" },
        { true, FT_BYTE, "MinLevel" },
        { true, FT_BYTE, "MaxLevel" },
        { true, FT_BYTE, "RatedPlayers" },
        { true, FT_BYTE, "MinPlayers" },
        { true, FT_INT, "MaxPlayers" },
        { true, FT_BYTE, "GroupsAllowed" },
        { true, FT_BYTE, "MaxGroupSize" },
        { true, FT_SHORT, "HolidayWorldState" },
        { true, FT_INT, "Flags" },
        { true, FT_INT, "IconFileDataID" },
        { true, FT_INT, "RequiredPlayerConditionID" },
        { true, FT_SHORT, "MapID1" },
        { true, FT_SHORT, "MapID2" },
        { true, FT_SHORT, "MapID3" },
        { true, FT_SHORT, "MapID4" },
        { true, FT_SHORT, "MapID5" },
        { true, FT_SHORT, "MapID6" },
        { true, FT_SHORT, "MapID7" },
        { true, FT_SHORT, "MapID8" },
        { true, FT_SHORT, "MapID9" },
        { true, FT_SHORT, "MapID10" },
        { true, FT_SHORT, "MapID11" },
        { true, FT_SHORT, "MapID12" },
        { true, FT_SHORT, "MapID13" },
        { true, FT_SHORT, "MapID14" },
        { true, FT_SHORT, "MapID15" },
        { true, FT_SHORT, "MapID16" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 33, &BattlemasterListMeta::Instance, HOTFIX_SEL_BATTLEMASTER_LIST };
};

struct BroadcastTextLoadInfo
{
    static constexpr DB2FieldMeta Fields[17] =
    {
        { false, FT_STRING, "Text" },
        { false, FT_STRING, "Text1" },
        { false, FT_INT, "ID" },
        { true, FT_INT, "LanguageID" },
        { true, FT_INT, "ConditionID" },
        { false, FT_SHORT, "EmotesID" },
        { false, FT_BYTE, "Flags" },
        { false, FT_INT, "ChatBubbleDurationMs" },
        { true, FT_INT, "VoiceOverPriorityID" },
        { false, FT_INT, "SoundKitID1" },
        { false, FT_INT, "SoundKitID2" },
        { false, FT_SHORT, "EmoteID1" },
        { false, FT_SHORT, "EmoteID2" },
        { false, FT_SHORT, "EmoteID3" },
        { false, FT_SHORT, "EmoteDelay1" },
        { false, FT_SHORT, "EmoteDelay2" },
        { false, FT_SHORT, "EmoteDelay3" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 17, &BroadcastTextMeta::Instance, HOTFIX_SEL_BROADCAST_TEXT };
};

struct BroadcastTextDurationLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "BroadcastTextID" },
        { true, FT_INT, "Locale" },
        { true, FT_INT, "Duration" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &BroadcastTextDurationMeta::Instance, HOTFIX_SEL_BROADCAST_TEXT_DURATION };
};

struct CfgCategoriesLoadInfo
{
    static constexpr DB2FieldMeta Fields[7] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Name" },
        { false, FT_SHORT, "LocaleMask" },
        { false, FT_BYTE, "CreateCharsetMask" },
        { false, FT_BYTE, "ExistingCharsetMask" },
        { false, FT_BYTE, "Flags" },
        { true, FT_BYTE, "Order" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 7, &Cfg_CategoriesMeta::Instance, HOTFIX_SEL_CFG_CATEGORIES };
};

struct CfgRegionsLoadInfo
{
    static constexpr DB2FieldMeta Fields[6] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING_NOT_LOCALIZED, "Tag" },
        { false, FT_SHORT, "RegionID" },
        { false, FT_INT, "Raidorigin" },
        { false, FT_BYTE, "RegionGroupMask" },
        { false, FT_INT, "ChallengeOrigin" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 6, &Cfg_RegionsMeta::Instance, HOTFIX_SEL_CFG_REGIONS };
};

struct ChallengeModeItemBonusOverrideLoadInfo
{
    static constexpr DB2FieldMeta Fields[8] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "ItemBonusTreeGroupID" },
        { true, FT_INT, "DstItemBonusTreeID" },
        { true, FT_BYTE, "Type" },
        { true, FT_INT, "Value" },
        { true, FT_INT, "MythicPlusSeasonID" },
        { true, FT_INT, "PvPSeasonID" },
        { false, FT_INT, "SrcItemBonusTreeID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 8, &ChallengeModeItemBonusOverrideMeta::Instance, HOTFIX_SEL_CHALLENGE_MODE_ITEM_BONUS_OVERRIDE };
};

struct CharBaseInfoLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { true, FT_BYTE, "RaceID" },
        { true, FT_BYTE, "ClassID" },
        { true, FT_INT, "OtherFactionRaceID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &CharBaseInfoMeta::Instance, HOTFIX_SEL_CHAR_BASE_INFO };
};

struct CharTitlesLoadInfo
{
    static constexpr DB2FieldMeta Fields[5] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Name" },
        { false, FT_STRING, "Name1" },
        { true, FT_SHORT, "MaskID" },
        { true, FT_BYTE, "Flags" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 5, &CharTitlesMeta::Instance, HOTFIX_SEL_CHAR_TITLES };
};

struct CharacterLoadoutLoadInfo
{
    static constexpr DB2FieldMeta Fields[5] =
    {
        { false, FT_INT, "ID" },
        { true, FT_LONG, "RaceMask" },
        { true, FT_BYTE, "ChrClassID" },
        { true, FT_INT, "Purpose" },
        { true, FT_BYTE, "ItemContext" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 5, &CharacterLoadoutMeta::Instance, HOTFIX_SEL_CHARACTER_LOADOUT };
};

struct CharacterLoadoutItemLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "CharacterLoadoutID" },
        { false, FT_INT, "ItemID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &CharacterLoadoutItemMeta::Instance, HOTFIX_SEL_CHARACTER_LOADOUT_ITEM };
};

struct ChatChannelsLoadInfo
{
    static constexpr DB2FieldMeta Fields[6] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Name" },
        { false, FT_STRING, "Shortcut" },
        { true, FT_INT, "Flags" },
        { true, FT_BYTE, "FactionGroup" },
        { true, FT_INT, "Ruleset" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 6, &ChatChannelsMeta::Instance, HOTFIX_SEL_CHAT_CHANNELS };
};

struct ChrClassUiDisplayLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { false, FT_BYTE, "ChrClassesID" },
        { false, FT_INT, "AdvGuidePlayerConditionID" },
        { false, FT_INT, "SplashPlayerConditionID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &ChrClassUIDisplayMeta::Instance, HOTFIX_SEL_CHR_CLASS_UI_DISPLAY };
};

struct ChrClassesLoadInfo
{
    static constexpr DB2FieldMeta Fields[39] =
    {
        { false, FT_STRING, "Name" },
        { false, FT_STRING_NOT_LOCALIZED, "Filename" },
        { false, FT_STRING, "NameMale" },
        { false, FT_STRING, "NameFemale" },
        { false, FT_STRING_NOT_LOCALIZED, "PetNameToken" },
        { false, FT_STRING, "Description" },
        { false, FT_STRING, "RoleInfoString" },
        { false, FT_STRING, "DisabledString" },
        { false, FT_STRING, "HyphenatedNameMale" },
        { false, FT_STRING, "HyphenatedNameFemale" },
        { false, FT_INT, "ID" },
        { false, FT_INT, "CreateScreenFileDataID" },
        { false, FT_INT, "SelectScreenFileDataID" },
        { false, FT_INT, "IconFileDataID" },
        { false, FT_INT, "LowResScreenFileDataID" },
        { true, FT_INT, "Flags" },
        { false, FT_INT, "SpellTextureBlobFileDataID" },
        { false, FT_INT, "ArmorTypeMask" },
        { true, FT_INT, "CharStartKitUnknown901" },
        { true, FT_INT, "MaleCharacterCreationVisualFallback" },
        { true, FT_INT, "MaleCharacterCreationIdleVisualFallback" },
        { true, FT_INT, "FemaleCharacterCreationVisualFallback" },
        { true, FT_INT, "FemaleCharacterCreationIdleVisualFallback" },
        { true, FT_INT, "CharacterCreationIdleGroundVisualFallback" },
        { true, FT_INT, "CharacterCreationGroundVisualFallback" },
        { true, FT_INT, "AlteredFormCharacterCreationIdleVisualFallback" },
        { true, FT_INT, "CharacterCreationAnimLoopWaitTimeMsFallback" },
        { false, FT_SHORT, "CinematicSequenceID" },
        { false, FT_SHORT, "DefaultSpec" },
        { false, FT_BYTE, "PrimaryStatPriority" },
        { false, FT_BYTE, "DisplayPower" },
        { false, FT_BYTE, "RangedAttackPowerPerAgility" },
        { false, FT_BYTE, "AttackPowerPerAgility" },
        { false, FT_BYTE, "AttackPowerPerStrength" },
        { false, FT_BYTE, "SpellClassSet" },
        { false, FT_BYTE, "ClassColorR" },
        { false, FT_BYTE, "ClassColorG" },
        { false, FT_BYTE, "ClassColorB" },
        { false, FT_BYTE, "RolesMask" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 39, &ChrClassesMeta::Instance, HOTFIX_SEL_CHR_CLASSES };
};

struct ChrClassesXPowerTypesLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { true, FT_BYTE, "PowerType" },
        { false, FT_INT, "ClassID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &ChrClassesXPowerTypesMeta::Instance, HOTFIX_SEL_CHR_CLASSES_X_POWER_TYPES };
};

struct ChrCustomizationChoiceLoadInfo
{
    static constexpr DB2FieldMeta Fields[12] =
    {
        { false, FT_STRING, "Name" },
        { false, FT_INT, "ID" },
        { false, FT_INT, "ChrCustomizationOptionID" },
        { true, FT_INT, "ChrCustomizationReqID" },
        { true, FT_INT, "ChrCustomizationVisReqID" },
        { false, FT_SHORT, "SortOrder" },
        { false, FT_SHORT, "UiOrderIndex" },
        { true, FT_INT, "Flags" },
        { true, FT_INT, "AddedInPatch" },
        { true, FT_INT, "SoundKitID" },
        { true, FT_INT, "SwatchColor1" },
        { true, FT_INT, "SwatchColor2" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 12, &ChrCustomizationChoiceMeta::Instance, HOTFIX_SEL_CHR_CUSTOMIZATION_CHOICE };
};

struct ChrCustomizationDisplayInfoLoadInfo
{
    static constexpr DB2FieldMeta Fields[6] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "ShapeshiftFormID" },
        { true, FT_INT, "DisplayID" },
        { false, FT_FLOAT, "BarberShopMinCameraDistance" },
        { false, FT_FLOAT, "BarberShopHeightOffset" },
        { false, FT_FLOAT, "BarberShopCameraZoomOffset" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 6, &ChrCustomizationDisplayInfoMeta::Instance, HOTFIX_SEL_CHR_CUSTOMIZATION_DISPLAY_INFO };
};

struct ChrCustomizationElementLoadInfo
{
    static constexpr DB2FieldMeta Fields[14] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "ChrCustomizationChoiceID" },
        { true, FT_INT, "RelatedChrCustomizationChoiceID" },
        { true, FT_INT, "ChrCustomizationGeosetID" },
        { true, FT_INT, "ChrCustomizationSkinnedModelID" },
        { true, FT_INT, "ChrCustomizationMaterialID" },
        { true, FT_INT, "ChrCustomizationBoneSetID" },
        { true, FT_INT, "ChrCustomizationCondModelID" },
        { true, FT_INT, "ChrCustomizationDisplayInfoID" },
        { true, FT_INT, "ChrCustItemGeoModifyID" },
        { true, FT_INT, "ChrCustomizationVoiceID" },
        { true, FT_INT, "AnimKitID" },
        { true, FT_INT, "ParticleColorID" },
        { true, FT_INT, "ChrCustGeoComponentLinkID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 14, &ChrCustomizationElementMeta::Instance, HOTFIX_SEL_CHR_CUSTOMIZATION_ELEMENT };
};

struct ChrCustomizationOptionLoadInfo
{
    static constexpr DB2FieldMeta Fields[13] =
    {
        { false, FT_STRING, "Name" },
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "SecondaryID" },
        { true, FT_INT, "Flags" },
        { false, FT_INT, "ChrModelID" },
        { true, FT_INT, "SortIndex" },
        { true, FT_INT, "ChrCustomizationCategoryID" },
        { true, FT_INT, "OptionType" },
        { false, FT_FLOAT, "BarberShopCostModifier" },
        { true, FT_INT, "ChrCustomizationID" },
        { true, FT_INT, "ChrCustomizationReqID" },
        { true, FT_INT, "UiOrderIndex" },
        { true, FT_INT, "AddedInPatch" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 13, &ChrCustomizationOptionMeta::Instance, HOTFIX_SEL_CHR_CUSTOMIZATION_OPTION };
};

struct ChrCustomizationReqLoadInfo
{
    static constexpr DB2FieldMeta Fields[9] =
    {
        { false, FT_INT, "ID" },
        { true, FT_LONG, "RaceMask" },
        { false, FT_STRING, "ReqSource" },
        { true, FT_INT, "Flags" },
        { true, FT_INT, "ClassMask" },
        { true, FT_INT, "AchievementID" },
        { true, FT_INT, "QuestID" },
        { true, FT_INT, "OverrideArchive" },
        { true, FT_INT, "ItemModifiedAppearanceID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 9, &ChrCustomizationReqMeta::Instance, HOTFIX_SEL_CHR_CUSTOMIZATION_REQ };
};

struct ChrCustomizationReqChoiceLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "ChrCustomizationChoiceID" },
        { false, FT_INT, "ChrCustomizationReqID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &ChrCustomizationReqChoiceMeta::Instance, HOTFIX_SEL_CHR_CUSTOMIZATION_REQ_CHOICE };
};

struct ChrModelLoadInfo
{
    static constexpr DB2FieldMeta Fields[21] =
    {
        { false, FT_FLOAT, "FaceCustomizationOffset1" },
        { false, FT_FLOAT, "FaceCustomizationOffset2" },
        { false, FT_FLOAT, "FaceCustomizationOffset3" },
        { false, FT_FLOAT, "CustomizeOffset1" },
        { false, FT_FLOAT, "CustomizeOffset2" },
        { false, FT_FLOAT, "CustomizeOffset3" },
        { false, FT_INT, "ID" },
        { true, FT_BYTE, "Sex" },
        { false, FT_INT, "DisplayID" },
        { true, FT_INT, "CharComponentTextureLayoutID" },
        { true, FT_INT, "Flags" },
        { true, FT_INT, "SkeletonFileDataID" },
        { true, FT_INT, "ModelFallbackChrModelID" },
        { true, FT_INT, "TextureFallbackChrModelID" },
        { true, FT_INT, "HelmVisFallbackChrModelID" },
        { false, FT_FLOAT, "CustomizeScale" },
        { false, FT_FLOAT, "CustomizeFacing" },
        { false, FT_FLOAT, "CameraDistanceOffset" },
        { false, FT_FLOAT, "BarberShopCameraOffsetScale" },
        { false, FT_FLOAT, "BarberShopCameraHeightOffsetScale" },
        { false, FT_FLOAT, "BarberShopCameraRotationOffset" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 21, &ChrModelMeta::Instance, HOTFIX_SEL_CHR_MODEL };
};

struct ChrRaceXChrModelLoadInfo
{
    static constexpr DB2FieldMeta Fields[5] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "ChrRacesID" },
        { true, FT_INT, "ChrModelID" },
        { true, FT_INT, "Sex" },
        { true, FT_INT, "AllowedTransmogSlots" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 5, &ChrRaceXChrModelMeta::Instance, HOTFIX_SEL_CHR_RACE_X_CHR_MODEL };
};

struct ChrRacesLoadInfo
{
    static constexpr DB2FieldMeta Fields[63] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING_NOT_LOCALIZED, "ClientPrefix" },
        { false, FT_STRING_NOT_LOCALIZED, "ClientFileString" },
        { false, FT_STRING, "Name" },
        { false, FT_STRING, "NameFemale" },
        { false, FT_STRING, "NameLowercase" },
        { false, FT_STRING, "NameFemaleLowercase" },
        { false, FT_STRING, "LoreName" },
        { false, FT_STRING, "LoreNameFemale" },
        { false, FT_STRING, "LoreNameLower" },
        { false, FT_STRING, "LoreNameLowerFemale" },
        { false, FT_STRING, "LoreDescription" },
        { false, FT_STRING, "ShortName" },
        { false, FT_STRING, "ShortNameFemale" },
        { false, FT_STRING, "ShortNameLower" },
        { false, FT_STRING, "ShortNameLowerFemale" },
        { true, FT_INT, "Flags" },
        { true, FT_INT, "FactionID" },
        { true, FT_INT, "CinematicSequenceID" },
        { true, FT_INT, "ResSicknessSpellID" },
        { true, FT_INT, "SplashSoundID" },
        { true, FT_INT, "Alliance" },
        { true, FT_INT, "RaceRelated" },
        { true, FT_INT, "UnalteredVisualRaceID" },
        { true, FT_INT, "DefaultClassID" },
        { true, FT_INT, "CreateScreenFileDataID" },
        { true, FT_INT, "SelectScreenFileDataID" },
        { true, FT_INT, "NeutralRaceID" },
        { true, FT_INT, "LowResScreenFileDataID" },
        { true, FT_INT, "AlteredFormStartVisualKitID1" },
        { true, FT_INT, "AlteredFormStartVisualKitID2" },
        { true, FT_INT, "AlteredFormStartVisualKitID3" },
        { true, FT_INT, "AlteredFormFinishVisualKitID1" },
        { true, FT_INT, "AlteredFormFinishVisualKitID2" },
        { true, FT_INT, "AlteredFormFinishVisualKitID3" },
        { true, FT_INT, "HeritageArmorAchievementID" },
        { true, FT_INT, "StartingLevel" },
        { true, FT_INT, "UiDisplayOrder" },
        { true, FT_INT, "MaleModelFallbackRaceID" },
        { true, FT_INT, "FemaleModelFallbackRaceID" },
        { true, FT_INT, "MaleTextureFallbackRaceID" },
        { true, FT_INT, "FemaleTextureFallbackRaceID" },
        { true, FT_INT, "PlayableRaceBit" },
        { true, FT_INT, "HelmetAnimScalingRaceID" },
        { true, FT_INT, "TransmogrifyDisabledSlotMask" },
        { true, FT_INT, "UnalteredVisualCustomizationRaceID" },
        { false, FT_FLOAT, "AlteredFormCustomizeOffsetFallback1" },
        { false, FT_FLOAT, "AlteredFormCustomizeOffsetFallback2" },
        { false, FT_FLOAT, "AlteredFormCustomizeOffsetFallback3" },
        { false, FT_FLOAT, "AlteredFormCustomizeRotationFallback" },
        { false, FT_FLOAT, "Unknown910_11" },
        { false, FT_FLOAT, "Unknown910_12" },
        { false, FT_FLOAT, "Unknown910_13" },
        { false, FT_FLOAT, "Unknown910_21" },
        { false, FT_FLOAT, "Unknown910_22" },
        { false, FT_FLOAT, "Unknown910_23" },
        { true, FT_INT, "Unknown1000" },
        { true, FT_BYTE, "BaseLanguage" },
        { true, FT_BYTE, "CreatureType" },
        { true, FT_BYTE, "MaleModelFallbackSex" },
        { true, FT_BYTE, "FemaleModelFallbackSex" },
        { true, FT_BYTE, "MaleTextureFallbackSex" },
        { true, FT_BYTE, "FemaleTextureFallbackSex" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 63, &ChrRacesMeta::Instance, HOTFIX_SEL_CHR_RACES };
};

struct ChrSpecializationLoadInfo
{
    static constexpr DB2FieldMeta Fields[14] =
    {
        { false, FT_STRING, "Name" },
        { false, FT_STRING, "FemaleName" },
        { false, FT_STRING, "Description" },
        { false, FT_INT, "ID" },
        { false, FT_BYTE, "ClassID" },
        { true, FT_BYTE, "OrderIndex" },
        { true, FT_BYTE, "PetTalentType" },
        { true, FT_BYTE, "Role" },
        { false, FT_INT, "Flags" },
        { true, FT_INT, "SpellIconFileID" },
        { true, FT_BYTE, "PrimaryStatPriority" },
        { true, FT_INT, "AnimReplacements" },
        { true, FT_INT, "MasterySpellID1" },
        { true, FT_INT, "MasterySpellID2" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 14, &ChrSpecializationMeta::Instance, HOTFIX_SEL_CHR_SPECIALIZATION };
};

struct CinematicCameraLoadInfo
{
    static constexpr DB2FieldMeta Fields[8] =
    {
        { false, FT_INT, "ID" },
        { false, FT_FLOAT, "OriginX" },
        { false, FT_FLOAT, "OriginY" },
        { false, FT_FLOAT, "OriginZ" },
        { false, FT_INT, "SoundID" },
        { false, FT_FLOAT, "OriginFacing" },
        { false, FT_INT, "FileDataID" },
        { false, FT_INT, "ConversationID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 8, &CinematicCameraMeta::Instance, HOTFIX_SEL_CINEMATIC_CAMERA };
};

struct CinematicSequencesLoadInfo
{
    static constexpr DB2FieldMeta Fields[10] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "SoundID" },
        { false, FT_SHORT, "Camera1" },
        { false, FT_SHORT, "Camera2" },
        { false, FT_SHORT, "Camera3" },
        { false, FT_SHORT, "Camera4" },
        { false, FT_SHORT, "Camera5" },
        { false, FT_SHORT, "Camera6" },
        { false, FT_SHORT, "Camera7" },
        { false, FT_SHORT, "Camera8" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 10, &CinematicSequencesMeta::Instance, HOTFIX_SEL_CINEMATIC_SEQUENCES };
};

struct ConditionalChrModelLoadInfo
{
    static constexpr DB2FieldMeta Fields[6] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "ChrModelID" },
        { true, FT_INT, "ChrCustomizationReqID" },
        { true, FT_INT, "PlayerConditionID" },
        { true, FT_INT, "Flags" },
        { true, FT_INT, "ChrCustomizationCategoryID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 6, &ConditionalChrModelMeta::Instance, HOTFIX_SEL_CONDITIONAL_CHR_MODEL };
};

struct ConditionalContentTuningLoadInfo
{
    static constexpr DB2FieldMeta Fields[5] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "OrderIndex" },
        { true, FT_INT, "RedirectContentTuningID" },
        { true, FT_INT, "RedirectFlag" },
        { false, FT_INT, "ParentContentTuningID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 5, &ConditionalContentTuningMeta::Instance, HOTFIX_SEL_CONDITIONAL_CONTENT_TUNING };
};

struct ContentTuningLoadInfo
{
    static constexpr DB2FieldMeta Fields[15] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "Flags" },
        { true, FT_INT, "ExpansionID" },
        { true, FT_INT, "HealthItemLevelCurveID" },
        { true, FT_INT, "DamageItemLevelCurveID" },
        { true, FT_INT, "MinLevel" },
        { true, FT_INT, "MaxLevel" },
        { true, FT_INT, "MinLevelType" },
        { true, FT_INT, "MaxLevelType" },
        { true, FT_INT, "TargetLevelDelta" },
        { true, FT_INT, "TargetLevelMaxDelta" },
        { true, FT_INT, "TargetLevelMin" },
        { true, FT_INT, "TargetLevelMax" },
        { true, FT_INT, "MinItemLevel" },
        { false, FT_FLOAT, "QuestXpMultiplier" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 15, &ContentTuningMeta::Instance, HOTFIX_SEL_CONTENT_TUNING };
};

struct ContentTuningXExpectedLoadInfo
{
    static constexpr DB2FieldMeta Fields[5] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "ExpectedStatModID" },
        { true, FT_INT, "MinMythicPlusSeasonID" },
        { true, FT_INT, "MaxMythicPlusSeasonID" },
        { false, FT_INT, "ContentTuningID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 5, &ContentTuningXExpectedMeta::Instance, HOTFIX_SEL_CONTENT_TUNING_X_EXPECTED };
};

struct ContentTuningXLabelLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "LabelID" },
        { false, FT_INT, "ContentTuningID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &ContentTuningXLabelMeta::Instance, HOTFIX_SEL_CONTENT_TUNING_X_LABEL };
};

struct ConversationLineLoadInfo
{
    static constexpr DB2FieldMeta Fields[10] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "BroadcastTextID" },
        { false, FT_INT, "Unused1020" },
        { false, FT_INT, "SpellVisualKitID" },
        { true, FT_INT, "AdditionalDuration" },
        { false, FT_SHORT, "NextConversationLineID" },
        { false, FT_SHORT, "AnimKitID" },
        { false, FT_BYTE, "SpeechType" },
        { false, FT_BYTE, "StartAnimation" },
        { false, FT_BYTE, "EndAnimation" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 10, &ConversationLineMeta::Instance, HOTFIX_SEL_CONVERSATION_LINE };
};

struct CorruptionEffectsLoadInfo
{
    static constexpr DB2FieldMeta Fields[5] =
    {
        { false, FT_INT, "ID" },
        { false, FT_FLOAT, "MinCorruption" },
        { true, FT_INT, "Aura" },
        { true, FT_INT, "PlayerConditionID" },
        { true, FT_INT, "Flags" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 5, &CorruptionEffectsMeta::Instance, HOTFIX_SEL_CORRUPTION_EFFECTS };
};

struct CraftingDataLoadInfo
{
    static constexpr DB2FieldMeta Fields[16] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "Type" },
        { true, FT_INT, "CraftingDifficultyID" },
        { true, FT_INT, "CraftedItemID" },
        { true, FT_INT, "ItemBonusTreeID" },
        { true, FT_INT, "CraftingDifficulty" },
        { false, FT_FLOAT, "Field_10_0_0_44649_005" },
        { false, FT_FLOAT, "CraftSkillBonusPercent" },
        { false, FT_FLOAT, "ReCraftSkillBonusPercent" },
        { false, FT_FLOAT, "InspirationSkillBonusPercent" },
        { false, FT_FLOAT, "Field_10_0_0_44649_009" },
        { false, FT_FLOAT, "Field_10_0_0_45141_011" },
        { true, FT_INT, "FirstCraftFlagQuestID" },
        { true, FT_INT, "FirstCraftTreasureID" },
        { true, FT_INT, "Field_10_2_5_52432_014" },
        { true, FT_INT, "CraftedTreasureID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 16, &CraftingDataMeta::Instance, HOTFIX_SEL_CRAFTING_DATA };
};

struct CraftingDataItemQualityLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "ItemID" },
        { false, FT_INT, "CraftingDataID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &CraftingDataItemQualityMeta::Instance, HOTFIX_SEL_CRAFTING_DATA_ITEM_QUALITY };
};

struct CraftingDifficultyLoadInfo
{
    static constexpr DB2FieldMeta Fields[6] =
    {
        { false, FT_INT, "ID" },
        { false, FT_FLOAT, "MaxRandomSkillBonusPercent" },
        { false, FT_FLOAT, "CraftSkillBonusPercent" },
        { false, FT_FLOAT, "ReCraftSkillBonusPercent" },
        { false, FT_FLOAT, "InspirationSkillBonusPercent" },
        { false, FT_FLOAT, "Field_10_0_0_44649_004" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 6, &CraftingDifficultyMeta::Instance, HOTFIX_SEL_CRAFTING_DIFFICULTY };
};

struct CraftingDifficultyQualityLoadInfo
{
    static constexpr DB2FieldMeta Fields[6] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "Order" },
        { true, FT_INT, "CraftingQualityID" },
        { false, FT_FLOAT, "QualityPercentage" },
        { false, FT_FLOAT, "Field_10_0_0_44895_004" },
        { false, FT_INT, "CraftingDifficultyID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 6, &CraftingDifficultyQualityMeta::Instance, HOTFIX_SEL_CRAFTING_DIFFICULTY_QUALITY };
};

struct CraftingQualityLoadInfo
{
    static constexpr DB2FieldMeta Fields[2] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "QualityTier" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 2, &CraftingQualityMeta::Instance, HOTFIX_SEL_CRAFTING_QUALITY };
};

struct CraftingReagentQualityLoadInfo
{
    static constexpr DB2FieldMeta Fields[6] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "OrderIndex" },
        { true, FT_INT, "ItemID" },
        { false, FT_FLOAT, "MaxDifficultyAdjustment" },
        { false, FT_FLOAT, "ReagentEffectPct" },
        { false, FT_INT, "ModifiedCraftingCategoryID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 6, &CraftingReagentQualityMeta::Instance, HOTFIX_SEL_CRAFTING_REAGENT_QUALITY };
};

struct CreatureDisplayInfoLoadInfo
{
    static constexpr DB2FieldMeta Fields[28] =
    {
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "ModelID" },
        { false, FT_SHORT, "SoundID" },
        { true, FT_BYTE, "SizeClass" },
        { false, FT_FLOAT, "CreatureModelScale" },
        { false, FT_BYTE, "CreatureModelAlpha" },
        { false, FT_BYTE, "BloodID" },
        { true, FT_INT, "ExtendedDisplayInfoID" },
        { false, FT_SHORT, "NPCSoundID" },
        { false, FT_SHORT, "ParticleColorID" },
        { true, FT_INT, "PortraitCreatureDisplayInfoID" },
        { true, FT_INT, "PortraitTextureFileDataID" },
        { false, FT_SHORT, "ObjectEffectPackageID" },
        { false, FT_SHORT, "AnimReplacementSetID" },
        { false, FT_BYTE, "Flags" },
        { true, FT_INT, "StateSpellVisualKitID" },
        { false, FT_FLOAT, "PlayerOverrideScale" },
        { false, FT_FLOAT, "PetInstanceScale" },
        { true, FT_BYTE, "UnarmedWeaponType" },
        { true, FT_INT, "MountPoofSpellVisualKitID" },
        { true, FT_INT, "DissolveEffectID" },
        { true, FT_BYTE, "Gender" },
        { true, FT_INT, "DissolveOutEffectID" },
        { true, FT_BYTE, "CreatureModelMinLod" },
        { true, FT_INT, "TextureVariationFileDataID1" },
        { true, FT_INT, "TextureVariationFileDataID2" },
        { true, FT_INT, "TextureVariationFileDataID3" },
        { true, FT_INT, "TextureVariationFileDataID4" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 28, &CreatureDisplayInfoMeta::Instance, HOTFIX_SEL_CREATURE_DISPLAY_INFO };
};

struct CreatureDisplayInfoExtraLoadInfo
{
    static constexpr DB2FieldMeta Fields[7] =
    {
        { false, FT_INT, "ID" },
        { true, FT_BYTE, "DisplayRaceID" },
        { true, FT_BYTE, "DisplaySexID" },
        { true, FT_BYTE, "DisplayClassID" },
        { true, FT_BYTE, "Flags" },
        { true, FT_INT, "BakeMaterialResourcesID" },
        { true, FT_INT, "HDBakeMaterialResourcesID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 7, &CreatureDisplayInfoExtraMeta::Instance, HOTFIX_SEL_CREATURE_DISPLAY_INFO_EXTRA };
};

struct CreatureFamilyLoadInfo
{
    static constexpr DB2FieldMeta Fields[11] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Name" },
        { false, FT_FLOAT, "MinScale" },
        { true, FT_BYTE, "MinScaleLevel" },
        { false, FT_FLOAT, "MaxScale" },
        { true, FT_BYTE, "MaxScaleLevel" },
        { true, FT_SHORT, "PetFoodMask" },
        { true, FT_BYTE, "PetTalentType" },
        { true, FT_INT, "IconFileID" },
        { true, FT_SHORT, "SkillLine1" },
        { true, FT_SHORT, "SkillLine2" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 11, &CreatureFamilyMeta::Instance, HOTFIX_SEL_CREATURE_FAMILY };
};

struct CreatureLabelLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "LabelID" },
        { false, FT_INT, "CreatureDifficultyID" },
    };
    static constexpr DB2LoadInfo Instance{ Fields, 3, &CreatureLabelMeta::Instance, HOTFIX_SEL_CREATURE_LABEL };
};

struct CreatureModelDataLoadInfo
{
    static constexpr DB2FieldMeta Fields[40] =
    {
        { false, FT_INT, "ID" },
        { false, FT_FLOAT, "GeoBox1" },
        { false, FT_FLOAT, "GeoBox2" },
        { false, FT_FLOAT, "GeoBox3" },
        { false, FT_FLOAT, "GeoBox4" },
        { false, FT_FLOAT, "GeoBox5" },
        { false, FT_FLOAT, "GeoBox6" },
        { false, FT_INT, "Flags" },
        { false, FT_INT, "FileDataID" },
        { false, FT_FLOAT, "WalkSpeed" },
        { false, FT_FLOAT, "RunSpeed" },
        { false, FT_INT, "BloodID" },
        { false, FT_INT, "FootprintTextureID" },
        { false, FT_FLOAT, "FootprintTextureLength" },
        { false, FT_FLOAT, "FootprintTextureWidth" },
        { false, FT_FLOAT, "FootprintParticleScale" },
        { false, FT_INT, "FoleyMaterialID" },
        { false, FT_INT, "FootstepCameraEffectID" },
        { false, FT_INT, "DeathThudCameraEffectID" },
        { false, FT_INT, "SoundID" },
        { false, FT_INT, "SizeClass" },
        { false, FT_FLOAT, "CollisionWidth" },
        { false, FT_FLOAT, "CollisionHeight" },
        { false, FT_FLOAT, "WorldEffectScale" },
        { false, FT_INT, "CreatureGeosetDataID" },
        { false, FT_FLOAT, "HoverHeight" },
        { false, FT_FLOAT, "AttachedEffectScale" },
        { false, FT_FLOAT, "ModelScale" },
        { false, FT_FLOAT, "MissileCollisionRadius" },
        { false, FT_FLOAT, "MissileCollisionPush" },
        { false, FT_FLOAT, "MissileCollisionRaise" },
        { false, FT_FLOAT, "MountHeight" },
        { false, FT_FLOAT, "OverrideLootEffectScale" },
        { false, FT_FLOAT, "OverrideNameScale" },
        { false, FT_FLOAT, "OverrideSelectionRadius" },
        { false, FT_FLOAT, "TamedPetBaseScale" },
        { true, FT_BYTE, "Unknown820_1" },
        { false, FT_FLOAT, "Unknown820_2" },
        { false, FT_FLOAT, "Unknown820_31" },
        { false, FT_FLOAT, "Unknown820_32" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 40, &CreatureModelDataMeta::Instance, HOTFIX_SEL_CREATURE_MODEL_DATA };
};

struct CreatureTypeLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Name" },
        { false, FT_BYTE, "Flags" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &CreatureTypeMeta::Instance, HOTFIX_SEL_CREATURE_TYPE };
};

struct CriteriaLoadInfo
{
    static constexpr DB2FieldMeta Fields[12] =
    {
        { false, FT_INT, "ID" },
        { true, FT_SHORT, "Type" },
        { true, FT_INT, "Asset" },
        { false, FT_INT, "ModifierTreeId" },
        { true, FT_INT, "StartEvent" },
        { true, FT_INT, "StartAsset" },
        { false, FT_SHORT, "StartTimer" },
        { true, FT_INT, "FailEvent" },
        { true, FT_INT, "FailAsset" },
        { true, FT_INT, "Flags" },
        { true, FT_SHORT, "EligibilityWorldStateID" },
        { true, FT_BYTE, "EligibilityWorldStateValue" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 12, &CriteriaMeta::Instance, HOTFIX_SEL_CRITERIA };
};

struct CriteriaTreeLoadInfo
{
    static constexpr DB2FieldMeta Fields[8] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Description" },
        { false, FT_INT, "Parent" },
        { false, FT_INT, "Amount" },
        { true, FT_INT, "Operator" },
        { false, FT_INT, "CriteriaID" },
        { true, FT_INT, "OrderIndex" },
        { true, FT_INT, "Flags" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 8, &CriteriaTreeMeta::Instance, HOTFIX_SEL_CRITERIA_TREE };
};

struct CurrencyContainerLoadInfo
{
    static constexpr DB2FieldMeta Fields[9] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "ContainerName" },
        { false, FT_STRING, "ContainerDescription" },
        { true, FT_INT, "MinAmount" },
        { true, FT_INT, "MaxAmount" },
        { true, FT_INT, "ContainerIconID" },
        { true, FT_BYTE, "ContainerQuality" },
        { true, FT_INT, "OnLootSpellVisualKitID" },
        { false, FT_INT, "CurrencyTypesID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 9, &CurrencyContainerMeta::Instance, HOTFIX_SEL_CURRENCY_CONTAINER };
};

struct CurrencyTypesLoadInfo
{
    static constexpr DB2FieldMeta Fields[19] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Name" },
        { false, FT_STRING, "Description" },
        { true, FT_INT, "CategoryID" },
        { true, FT_INT, "InventoryIconFileID" },
        { false, FT_INT, "SpellWeight" },
        { false, FT_BYTE, "SpellCategory" },
        { false, FT_INT, "MaxQty" },
        { false, FT_INT, "MaxEarnablePerWeek" },
        { true, FT_BYTE, "Quality" },
        { true, FT_INT, "FactionID" },
        { true, FT_INT, "ItemGroupSoundsID" },
        { true, FT_INT, "XpQuestDifficulty" },
        { true, FT_INT, "AwardConditionID" },
        { true, FT_INT, "MaxQtyWorldStateID" },
        { false, FT_INT, "RechargingAmountPerCycle" },
        { false, FT_INT, "RechargingCycleDurationMS" },
        { true, FT_INT, "Flags1" },
        { true, FT_INT, "Flags2" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 19, &CurrencyTypesMeta::Instance, HOTFIX_SEL_CURRENCY_TYPES };
};

struct CurveLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { false, FT_BYTE, "Type" },
        { false, FT_BYTE, "Flags" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &CurveMeta::Instance, HOTFIX_SEL_CURVE };
};

struct CurvePointLoadInfo
{
    static constexpr DB2FieldMeta Fields[7] =
    {
        { false, FT_FLOAT, "PosX" },
        { false, FT_FLOAT, "PosY" },
        { false, FT_FLOAT, "PreSLSquishPosX" },
        { false, FT_FLOAT, "PreSLSquishPosY" },
        { false, FT_INT, "ID" },
        { false, FT_INT, "CurveID" },
        { false, FT_BYTE, "OrderIndex" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 7, &CurvePointMeta::Instance, HOTFIX_SEL_CURVE_POINT };
};

struct DestructibleModelDataLoadInfo
{
    static constexpr DB2FieldMeta Fields[23] =
    {
        { false, FT_INT, "ID" },
        { true, FT_BYTE, "State0ImpactEffectDoodadSet" },
        { false, FT_BYTE, "State0AmbientDoodadSet" },
        { true, FT_INT, "State1Wmo" },
        { true, FT_BYTE, "State1DestructionDoodadSet" },
        { true, FT_BYTE, "State1ImpactEffectDoodadSet" },
        { false, FT_BYTE, "State1AmbientDoodadSet" },
        { true, FT_INT, "State2Wmo" },
        { true, FT_BYTE, "State2DestructionDoodadSet" },
        { true, FT_BYTE, "State2ImpactEffectDoodadSet" },
        { false, FT_BYTE, "State2AmbientDoodadSet" },
        { true, FT_INT, "State3Wmo" },
        { false, FT_BYTE, "State3InitDoodadSet" },
        { false, FT_BYTE, "State3AmbientDoodadSet" },
        { false, FT_BYTE, "EjectDirection" },
        { false, FT_BYTE, "DoNotHighlight" },
        { true, FT_INT, "State0Wmo" },
        { false, FT_BYTE, "HealEffect" },
        { false, FT_SHORT, "HealEffectSpeed" },
        { true, FT_BYTE, "State0NameSet" },
        { true, FT_BYTE, "State1NameSet" },
        { true, FT_BYTE, "State2NameSet" },
        { true, FT_BYTE, "State3NameSet" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 23, &DestructibleModelDataMeta::Instance, HOTFIX_SEL_DESTRUCTIBLE_MODEL_DATA };
};

struct DifficultyLoadInfo
{
    static constexpr DB2FieldMeta Fields[14] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Name" },
        { false, FT_BYTE, "InstanceType" },
        { false, FT_BYTE, "OrderIndex" },
        { true, FT_BYTE, "OldEnumValue" },
        { false, FT_BYTE, "FallbackDifficultyID" },
        { false, FT_BYTE, "MinPlayers" },
        { false, FT_BYTE, "MaxPlayers" },
        { false, FT_SHORT, "Flags" },
        { false, FT_BYTE, "ItemContext" },
        { false, FT_BYTE, "ToggleDifficultyID" },
        { false, FT_INT, "GroupSizeHealthCurveID" },
        { false, FT_INT, "GroupSizeDmgCurveID" },
        { false, FT_INT, "GroupSizeSpellPointsCurveID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 14, &DifficultyMeta::Instance, HOTFIX_SEL_DIFFICULTY };
};

struct DungeonEncounterLoadInfo
{
    static constexpr DB2FieldMeta Fields[10] =
    {
        { false, FT_STRING, "Name" },
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "MapID" },
        { true, FT_INT, "DifficultyID" },
        { true, FT_INT, "OrderIndex" },
        { true, FT_INT, "CompleteWorldStateID" },
        { true, FT_BYTE, "Bit" },
        { true, FT_INT, "Flags" },
        { true, FT_INT, "SpellIconFileID" },
        { true, FT_INT, "Faction" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 10, &DungeonEncounterMeta::Instance, HOTFIX_SEL_DUNGEON_ENCOUNTER };
};

struct DurabilityCostsLoadInfo
{
    static constexpr DB2FieldMeta Fields[30] =
    {
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "WeaponSubClassCost1" },
        { false, FT_SHORT, "WeaponSubClassCost2" },
        { false, FT_SHORT, "WeaponSubClassCost3" },
        { false, FT_SHORT, "WeaponSubClassCost4" },
        { false, FT_SHORT, "WeaponSubClassCost5" },
        { false, FT_SHORT, "WeaponSubClassCost6" },
        { false, FT_SHORT, "WeaponSubClassCost7" },
        { false, FT_SHORT, "WeaponSubClassCost8" },
        { false, FT_SHORT, "WeaponSubClassCost9" },
        { false, FT_SHORT, "WeaponSubClassCost10" },
        { false, FT_SHORT, "WeaponSubClassCost11" },
        { false, FT_SHORT, "WeaponSubClassCost12" },
        { false, FT_SHORT, "WeaponSubClassCost13" },
        { false, FT_SHORT, "WeaponSubClassCost14" },
        { false, FT_SHORT, "WeaponSubClassCost15" },
        { false, FT_SHORT, "WeaponSubClassCost16" },
        { false, FT_SHORT, "WeaponSubClassCost17" },
        { false, FT_SHORT, "WeaponSubClassCost18" },
        { false, FT_SHORT, "WeaponSubClassCost19" },
        { false, FT_SHORT, "WeaponSubClassCost20" },
        { false, FT_SHORT, "WeaponSubClassCost21" },
        { false, FT_SHORT, "ArmorSubClassCost1" },
        { false, FT_SHORT, "ArmorSubClassCost2" },
        { false, FT_SHORT, "ArmorSubClassCost3" },
        { false, FT_SHORT, "ArmorSubClassCost4" },
        { false, FT_SHORT, "ArmorSubClassCost5" },
        { false, FT_SHORT, "ArmorSubClassCost6" },
        { false, FT_SHORT, "ArmorSubClassCost7" },
        { false, FT_SHORT, "ArmorSubClassCost8" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 30, &DurabilityCostsMeta::Instance, HOTFIX_SEL_DURABILITY_COSTS };
};

struct DurabilityQualityLoadInfo
{
    static constexpr DB2FieldMeta Fields[2] =
    {
        { false, FT_INT, "ID" },
        { false, FT_FLOAT, "Data" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 2, &DurabilityQualityMeta::Instance, HOTFIX_SEL_DURABILITY_QUALITY };
};

struct EmotesLoadInfo
{
    static constexpr DB2FieldMeta Fields[10] =
    {
        { false, FT_INT, "ID" },
        { true, FT_LONG, "RaceMask" },
        { false, FT_STRING_NOT_LOCALIZED, "EmoteSlashCommand" },
        { true, FT_INT, "AnimID" },
        { false, FT_INT, "EmoteFlags" },
        { false, FT_BYTE, "EmoteSpecProc" },
        { false, FT_INT, "EmoteSpecProcParam" },
        { false, FT_INT, "EventSoundID" },
        { false, FT_INT, "SpellVisualKitID" },
        { true, FT_INT, "ClassMask" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 10, &EmotesMeta::Instance, HOTFIX_SEL_EMOTES };
};

struct EmotesTextLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING_NOT_LOCALIZED, "Name" },
        { false, FT_SHORT, "EmoteID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &EmotesTextMeta::Instance, HOTFIX_SEL_EMOTES_TEXT };
};

struct EmotesTextSoundLoadInfo
{
    static constexpr DB2FieldMeta Fields[6] =
    {
        { false, FT_INT, "ID" },
        { false, FT_BYTE, "RaceID" },
        { false, FT_BYTE, "ClassID" },
        { false, FT_BYTE, "SexID" },
        { false, FT_INT, "SoundID" },
        { false, FT_INT, "EmotesTextID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 6, &EmotesTextSoundMeta::Instance, HOTFIX_SEL_EMOTES_TEXT_SOUND };
};

struct ExpectedStatLoadInfo
{
    static constexpr DB2FieldMeta Fields[12] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "ExpansionID" },
        { false, FT_FLOAT, "CreatureHealth" },
        { false, FT_FLOAT, "PlayerHealth" },
        { false, FT_FLOAT, "CreatureAutoAttackDps" },
        { false, FT_FLOAT, "CreatureArmor" },
        { false, FT_FLOAT, "PlayerMana" },
        { false, FT_FLOAT, "PlayerPrimaryStat" },
        { false, FT_FLOAT, "PlayerSecondaryStat" },
        { false, FT_FLOAT, "ArmorConstant" },
        { false, FT_FLOAT, "CreatureSpellDamage" },
        { false, FT_INT, "Lvl" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 12, &ExpectedStatMeta::Instance, HOTFIX_SEL_EXPECTED_STAT };
};

struct ExpectedStatModLoadInfo
{
    static constexpr DB2FieldMeta Fields[10] =
    {
        { false, FT_INT, "ID" },
        { false, FT_FLOAT, "CreatureHealthMod" },
        { false, FT_FLOAT, "PlayerHealthMod" },
        { false, FT_FLOAT, "CreatureAutoAttackDPSMod" },
        { false, FT_FLOAT, "CreatureArmorMod" },
        { false, FT_FLOAT, "PlayerManaMod" },
        { false, FT_FLOAT, "PlayerPrimaryStatMod" },
        { false, FT_FLOAT, "PlayerSecondaryStatMod" },
        { false, FT_FLOAT, "ArmorConstantMod" },
        { false, FT_FLOAT, "CreatureSpellDamageMod" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 10, &ExpectedStatModMeta::Instance, HOTFIX_SEL_EXPECTED_STAT_MOD };
};

struct FactionLoadInfo
{
    static constexpr DB2FieldMeta Fields[35] =
    {
        { false, FT_INT, "ID" },
        { true, FT_LONG, "ReputationRaceMask1" },
        { true, FT_LONG, "ReputationRaceMask2" },
        { true, FT_LONG, "ReputationRaceMask3" },
        { true, FT_LONG, "ReputationRaceMask4" },
        { false, FT_STRING, "Name" },
        { false, FT_STRING, "Description" },
        { true, FT_SHORT, "ReputationIndex" },
        { false, FT_SHORT, "ParentFactionID" },
        { false, FT_BYTE, "Expansion" },
        { false, FT_INT, "FriendshipRepID" },
        { true, FT_INT, "Flags" },
        { false, FT_SHORT, "ParagonFactionID" },
        { true, FT_INT, "RenownFactionID" },
        { true, FT_INT, "RenownCurrencyID" },
        { true, FT_SHORT, "ReputationClassMask1" },
        { true, FT_SHORT, "ReputationClassMask2" },
        { true, FT_SHORT, "ReputationClassMask3" },
        { true, FT_SHORT, "ReputationClassMask4" },
        { false, FT_SHORT, "ReputationFlags1" },
        { false, FT_SHORT, "ReputationFlags2" },
        { false, FT_SHORT, "ReputationFlags3" },
        { false, FT_SHORT, "ReputationFlags4" },
        { true, FT_INT, "ReputationBase1" },
        { true, FT_INT, "ReputationBase2" },
        { true, FT_INT, "ReputationBase3" },
        { true, FT_INT, "ReputationBase4" },
        { true, FT_INT, "ReputationMax1" },
        { true, FT_INT, "ReputationMax2" },
        { true, FT_INT, "ReputationMax3" },
        { true, FT_INT, "ReputationMax4" },
        { false, FT_FLOAT, "ParentFactionMod1" },
        { false, FT_FLOAT, "ParentFactionMod2" },
        { false, FT_BYTE, "ParentFactionCap1" },
        { false, FT_BYTE, "ParentFactionCap2" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 35, &FactionMeta::Instance, HOTFIX_SEL_FACTION };
};

struct FactionTemplateLoadInfo
{
    static constexpr DB2FieldMeta Fields[22] =
    {
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "Faction" },
        { false, FT_SHORT, "Flags" },
        { false, FT_BYTE, "FactionGroup" },
        { false, FT_BYTE, "FriendGroup" },
        { false, FT_BYTE, "EnemyGroup" },
        { false, FT_SHORT, "Enemies1" },
        { false, FT_SHORT, "Enemies2" },
        { false, FT_SHORT, "Enemies3" },
        { false, FT_SHORT, "Enemies4" },
        { false, FT_SHORT, "Enemies5" },
        { false, FT_SHORT, "Enemies6" },
        { false, FT_SHORT, "Enemies7" },
        { false, FT_SHORT, "Enemies8" },
        { false, FT_SHORT, "Friend1" },
        { false, FT_SHORT, "Friend2" },
        { false, FT_SHORT, "Friend3" },
        { false, FT_SHORT, "Friend4" },
        { false, FT_SHORT, "Friend5" },
        { false, FT_SHORT, "Friend6" },
        { false, FT_SHORT, "Friend7" },
        { false, FT_SHORT, "Friend8" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 22, &FactionTemplateMeta::Instance, HOTFIX_SEL_FACTION_TEMPLATE };
};

struct FlightCapabilityLoadInfo
{
    static constexpr DB2FieldMeta Fields[26] =
    {
        { false, FT_INT, "ID" },
        { false, FT_FLOAT, "AirFriction" },
        { false, FT_FLOAT, "MaxVel" },
        { false, FT_FLOAT, "Field_10_0_0_44167_002" },
        { false, FT_FLOAT, "DoubleJumpVelMod" },
        { false, FT_FLOAT, "LiftCoefficient" },
        { false, FT_FLOAT, "GlideStartMinHeight" },
        { false, FT_FLOAT, "AddImpulseMaxSpeed" },
        { false, FT_FLOAT, "BankingRateMin" },
        { false, FT_FLOAT, "BankingRateMax" },
        { false, FT_FLOAT, "PitchingRateDownMin" },
        { false, FT_FLOAT, "PitchingRateDownMax" },
        { false, FT_FLOAT, "PitchingRateUpMin" },
        { false, FT_FLOAT, "PitchingRateUpMax" },
        { false, FT_FLOAT, "TurnVelocityThresholdMin" },
        { false, FT_FLOAT, "TurnVelocityThresholdMax" },
        { false, FT_FLOAT, "SurfaceFriction" },
        { false, FT_FLOAT, "OverMaxDeceleration" },
        { false, FT_FLOAT, "Field_10_0_0_45232_017" },
        { false, FT_FLOAT, "Field_10_0_0_45232_018" },
        { false, FT_FLOAT, "Field_10_0_0_45232_019" },
        { false, FT_FLOAT, "Field_10_0_0_45232_020" },
        { false, FT_FLOAT, "Field_10_0_0_45232_021" },
        { false, FT_FLOAT, "LaunchSpeedCoefficient" },
        { false, FT_FLOAT, "VigorRegenMaxVelCoefficient" },
        { true, FT_INT, "SpellID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 26, &FlightCapabilityMeta::Instance, HOTFIX_SEL_FLIGHT_CAPABILITY };
};

struct FriendshipRepReactionLoadInfo
{
    static constexpr DB2FieldMeta Fields[5] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Reaction" },
        { false, FT_INT, "FriendshipRepID" },
        { false, FT_SHORT, "ReactionThreshold" },
        { true, FT_INT, "OverrideColor" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 5, &FriendshipRepReactionMeta::Instance, HOTFIX_SEL_FRIENDSHIP_REP_REACTION };
};

struct FriendshipReputationLoadInfo
{
    static constexpr DB2FieldMeta Fields[7] =
    {
        { false, FT_STRING, "Description" },
        { false, FT_STRING, "StandingModified" },
        { false, FT_STRING, "StandingChanged" },
        { false, FT_INT, "ID" },
        { true, FT_INT, "FactionID" },
        { true, FT_INT, "TextureFileID" },
        { true, FT_INT, "Flags" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 7, &FriendshipReputationMeta::Instance, HOTFIX_SEL_FRIENDSHIP_REPUTATION };
};

struct GameobjectArtKitLoadInfo
{
    static constexpr DB2FieldMeta Fields[5] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "AttachModelFileID" },
        { true, FT_INT, "TextureVariationFileID1" },
        { true, FT_INT, "TextureVariationFileID2" },
        { true, FT_INT, "TextureVariationFileID3" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 5, &GameObjectArtKitMeta::Instance, HOTFIX_SEL_GAMEOBJECT_ART_KIT };
};

struct GameobjectDisplayInfoLoadInfo
{
    static constexpr DB2FieldMeta Fields[14] =
    {
        { false, FT_INT, "ID" },
        { false, FT_FLOAT, "GeoBoxMinX" },
        { false, FT_FLOAT, "GeoBoxMinY" },
        { false, FT_FLOAT, "GeoBoxMinZ" },
        { false, FT_FLOAT, "GeoBoxMaxX" },
        { false, FT_FLOAT, "GeoBoxMaxY" },
        { false, FT_FLOAT, "GeoBoxMaxZ" },
        { true, FT_INT, "FileDataID" },
        { true, FT_SHORT, "ObjectEffectPackageID" },
        { false, FT_FLOAT, "OverrideLootEffectScale" },
        { false, FT_FLOAT, "OverrideNameScale" },
        { true, FT_INT, "AlternateDisplayType" },
        { true, FT_INT, "ClientCreatureDisplayInfoID" },
        { true, FT_INT, "ClientItemID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 14, &GameObjectDisplayInfoMeta::Instance, HOTFIX_SEL_GAMEOBJECT_DISPLAY_INFO };
};

struct GameobjectLabelLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "LabelID" },
        { false, FT_INT, "GameObjectID" },
    };
    static constexpr DB2LoadInfo Instance{ Fields, 3, &GameObjectLabelMeta::Instance, HOTFIX_SEL_GAMEOBJECT_LABEL };
};

struct GameobjectsLoadInfo
{
    static constexpr DB2FieldMeta Fields[24] =
    {
        { false, FT_STRING, "Name" },
        { false, FT_FLOAT, "PosX" },
        { false, FT_FLOAT, "PosY" },
        { false, FT_FLOAT, "PosZ" },
        { false, FT_FLOAT, "Rot1" },
        { false, FT_FLOAT, "Rot2" },
        { false, FT_FLOAT, "Rot3" },
        { false, FT_FLOAT, "Rot4" },
        { false, FT_INT, "ID" },
        { false, FT_INT, "OwnerID" },
        { true, FT_INT, "DisplayID" },
        { false, FT_FLOAT, "Scale" },
        { true, FT_INT, "TypeID" },
        { true, FT_INT, "PhaseUseFlags" },
        { true, FT_INT, "PhaseID" },
        { true, FT_INT, "PhaseGroupID" },
        { true, FT_INT, "PropValue1" },
        { true, FT_INT, "PropValue2" },
        { true, FT_INT, "PropValue3" },
        { true, FT_INT, "PropValue4" },
        { true, FT_INT, "PropValue5" },
        { true, FT_INT, "PropValue6" },
        { true, FT_INT, "PropValue7" },
        { true, FT_INT, "PropValue8" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 24, &GameObjectsMeta::Instance, HOTFIX_SEL_GAMEOBJECTS };
};

struct GarrAbilityLoadInfo
{
    static constexpr DB2FieldMeta Fields[8] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Name" },
        { false, FT_STRING, "Description" },
        { false, FT_BYTE, "GarrAbilityCategoryID" },
        { true, FT_BYTE, "GarrFollowerTypeID" },
        { true, FT_INT, "IconFileDataID" },
        { false, FT_SHORT, "FactionChangeGarrAbilityID" },
        { true, FT_INT, "Flags" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 8, &GarrAbilityMeta::Instance, HOTFIX_SEL_GARR_ABILITY };
};

struct GarrBuildingLoadInfo
{
    static constexpr DB2FieldMeta Fields[25] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "HordeName" },
        { false, FT_STRING, "AllianceName" },
        { false, FT_STRING, "Description" },
        { false, FT_STRING, "Tooltip" },
        { true, FT_BYTE, "GarrTypeID" },
        { false, FT_BYTE, "BuildingType" },
        { true, FT_INT, "HordeGameObjectID" },
        { true, FT_INT, "AllianceGameObjectID" },
        { true, FT_INT, "GarrSiteID" },
        { false, FT_BYTE, "UpgradeLevel" },
        { true, FT_INT, "BuildSeconds" },
        { false, FT_SHORT, "CurrencyTypeID" },
        { true, FT_INT, "CurrencyQty" },
        { false, FT_SHORT, "HordeUiTextureKitID" },
        { false, FT_SHORT, "AllianceUiTextureKitID" },
        { true, FT_INT, "IconFileDataID" },
        { false, FT_SHORT, "AllianceSceneScriptPackageID" },
        { false, FT_SHORT, "HordeSceneScriptPackageID" },
        { true, FT_INT, "MaxAssignments" },
        { false, FT_BYTE, "ShipmentCapacity" },
        { false, FT_SHORT, "GarrAbilityID" },
        { false, FT_SHORT, "BonusGarrAbilityID" },
        { false, FT_SHORT, "GoldCost" },
        { true, FT_INT, "Flags" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 25, &GarrBuildingMeta::Instance, HOTFIX_SEL_GARR_BUILDING };
};

struct GarrBuildingPlotInstLoadInfo
{
    static constexpr DB2FieldMeta Fields[6] =
    {
        { false, FT_FLOAT, "MapOffsetX" },
        { false, FT_FLOAT, "MapOffsetY" },
        { false, FT_INT, "ID" },
        { false, FT_BYTE, "GarrBuildingID" },
        { false, FT_SHORT, "GarrSiteLevelPlotInstID" },
        { false, FT_SHORT, "UiTextureAtlasMemberID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 6, &GarrBuildingPlotInstMeta::Instance, HOTFIX_SEL_GARR_BUILDING_PLOT_INST };
};

struct GarrClassSpecLoadInfo
{
    static constexpr DB2FieldMeta Fields[8] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "ClassSpec" },
        { false, FT_STRING, "ClassSpecMale" },
        { false, FT_STRING, "ClassSpecFemale" },
        { false, FT_SHORT, "UiTextureAtlasMemberID" },
        { false, FT_SHORT, "GarrFollItemSetID" },
        { false, FT_BYTE, "FollowerClassLimit" },
        { true, FT_INT, "Flags" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 8, &GarrClassSpecMeta::Instance, HOTFIX_SEL_GARR_CLASS_SPEC };
};

struct GarrFollowerLoadInfo
{
    static constexpr DB2FieldMeta Fields[34] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "HordeSourceText" },
        { false, FT_STRING, "AllianceSourceText" },
        { false, FT_STRING, "TitleName" },
        { true, FT_BYTE, "GarrTypeID" },
        { true, FT_BYTE, "GarrFollowerTypeID" },
        { true, FT_INT, "HordeCreatureID" },
        { true, FT_INT, "AllianceCreatureID" },
        { false, FT_BYTE, "HordeGarrFollRaceID" },
        { false, FT_BYTE, "AllianceGarrFollRaceID" },
        { true, FT_INT, "HordeGarrClassSpecID" },
        { true, FT_INT, "AllianceGarrClassSpecID" },
        { false, FT_BYTE, "Quality" },
        { false, FT_BYTE, "FollowerLevel" },
        { false, FT_SHORT, "ItemLevelWeapon" },
        { false, FT_SHORT, "ItemLevelArmor" },
        { true, FT_BYTE, "HordeSourceTypeEnum" },
        { true, FT_BYTE, "AllianceSourceTypeEnum" },
        { true, FT_INT, "HordeIconFileDataID" },
        { true, FT_INT, "AllianceIconFileDataID" },
        { false, FT_SHORT, "HordeGarrFollItemSetID" },
        { false, FT_SHORT, "AllianceGarrFollItemSetID" },
        { false, FT_SHORT, "HordeUITextureKitID" },
        { false, FT_SHORT, "AllianceUITextureKitID" },
        { false, FT_BYTE, "Vitality" },
        { false, FT_BYTE, "HordeFlavorGarrStringID" },
        { false, FT_BYTE, "AllianceFlavorGarrStringID" },
        { false, FT_INT, "HordeSlottingBroadcastTextID" },
        { false, FT_INT, "AllySlottingBroadcastTextID" },
        { false, FT_BYTE, "ChrClassID" },
        { true, FT_INT, "Flags" },
        { false, FT_BYTE, "Gender" },
        { true, FT_INT, "AutoCombatantID" },
        { true, FT_INT, "CovenantID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 34, &GarrFollowerMeta::Instance, HOTFIX_SEL_GARR_FOLLOWER };
};

struct GarrFollowerXAbilityLoadInfo
{
    static constexpr DB2FieldMeta Fields[5] =
    {
        { false, FT_INT, "ID" },
        { false, FT_BYTE, "OrderIndex" },
        { false, FT_BYTE, "FactionIndex" },
        { false, FT_SHORT, "GarrAbilityID" },
        { false, FT_INT, "GarrFollowerID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 5, &GarrFollowerXAbilityMeta::Instance, HOTFIX_SEL_GARR_FOLLOWER_X_ABILITY };
};

struct GarrMissionLoadInfo
{
    static constexpr DB2FieldMeta Fields[34] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Name" },
        { false, FT_STRING, "Location" },
        { false, FT_STRING, "Description" },
        { false, FT_FLOAT, "MapPosX" },
        { false, FT_FLOAT, "MapPosY" },
        { false, FT_FLOAT, "WorldPosX" },
        { false, FT_FLOAT, "WorldPosY" },
        { true, FT_BYTE, "GarrTypeID" },
        { false, FT_BYTE, "GarrMissionTypeID" },
        { true, FT_BYTE, "GarrFollowerTypeID" },
        { false, FT_BYTE, "MaxFollowers" },
        { false, FT_INT, "MissionCost" },
        { false, FT_SHORT, "MissionCostCurrencyTypesID" },
        { false, FT_BYTE, "OfferedGarrMissionTextureID" },
        { false, FT_SHORT, "UiTextureKitID" },
        { false, FT_INT, "EnvGarrMechanicID" },
        { true, FT_INT, "EnvGarrMechanicTypeID" },
        { false, FT_INT, "PlayerConditionID" },
        { false, FT_INT, "GarrMissionSetID" },
        { true, FT_BYTE, "TargetLevel" },
        { false, FT_SHORT, "TargetItemLevel" },
        { true, FT_INT, "MissionDuration" },
        { true, FT_INT, "TravelDuration" },
        { false, FT_INT, "OfferDuration" },
        { false, FT_BYTE, "BaseCompletionChance" },
        { false, FT_INT, "BaseFollowerXP" },
        { false, FT_INT, "OvermaxRewardPackID" },
        { false, FT_BYTE, "FollowerDeathChance" },
        { false, FT_INT, "AreaID" },
        { true, FT_INT, "Flags" },
        { false, FT_FLOAT, "AutoMissionScalar" },
        { true, FT_INT, "AutoMissionScalarCurveID" },
        { true, FT_INT, "AutoCombatantEnvCasterID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 34, &GarrMissionMeta::Instance, HOTFIX_SEL_GARR_MISSION };
};

struct GarrPlotLoadInfo
{
    static constexpr DB2FieldMeta Fields[9] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING_NOT_LOCALIZED, "Name" },
        { false, FT_BYTE, "PlotType" },
        { true, FT_INT, "HordeConstructObjID" },
        { true, FT_INT, "AllianceConstructObjID" },
        { false, FT_BYTE, "Flags" },
        { false, FT_BYTE, "UiCategoryID" },
        { false, FT_INT, "UpgradeRequirement1" },
        { false, FT_INT, "UpgradeRequirement2" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 9, &GarrPlotMeta::Instance, HOTFIX_SEL_GARR_PLOT };
};

struct GarrPlotBuildingLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { false, FT_BYTE, "GarrPlotID" },
        { false, FT_BYTE, "GarrBuildingID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &GarrPlotBuildingMeta::Instance, HOTFIX_SEL_GARR_PLOT_BUILDING };
};

struct GarrPlotInstanceLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING_NOT_LOCALIZED, "Name" },
        { false, FT_BYTE, "GarrPlotID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &GarrPlotInstanceMeta::Instance, HOTFIX_SEL_GARR_PLOT_INSTANCE };
};

struct GarrSiteLevelLoadInfo
{
    static constexpr DB2FieldMeta Fields[11] =
    {
        { false, FT_INT, "ID" },
        { false, FT_FLOAT, "TownHallUiPosX" },
        { false, FT_FLOAT, "TownHallUiPosY" },
        { false, FT_INT, "GarrSiteID" },
        { false, FT_BYTE, "GarrLevel" },
        { false, FT_SHORT, "MapID" },
        { false, FT_SHORT, "UpgradeMovieID" },
        { false, FT_SHORT, "UiTextureKitID" },
        { false, FT_BYTE, "MaxBuildingLevel" },
        { false, FT_SHORT, "UpgradeCost" },
        { false, FT_SHORT, "UpgradeGoldCost" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 11, &GarrSiteLevelMeta::Instance, HOTFIX_SEL_GARR_SITE_LEVEL };
};

struct GarrSiteLevelPlotInstLoadInfo
{
    static constexpr DB2FieldMeta Fields[6] =
    {
        { false, FT_INT, "ID" },
        { false, FT_FLOAT, "UiMarkerPosX" },
        { false, FT_FLOAT, "UiMarkerPosY" },
        { false, FT_SHORT, "GarrSiteLevelID" },
        { false, FT_BYTE, "GarrPlotInstanceID" },
        { false, FT_BYTE, "UiMarkerSize" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 6, &GarrSiteLevelPlotInstMeta::Instance, HOTFIX_SEL_GARR_SITE_LEVEL_PLOT_INST };
};

struct GarrTalentTreeLoadInfo
{
    static constexpr DB2FieldMeta Fields[13] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Name" },
        { true, FT_BYTE, "GarrTypeID" },
        { true, FT_INT, "ClassID" },
        { true, FT_BYTE, "MaxTiers" },
        { true, FT_BYTE, "UiOrder" },
        { true, FT_INT, "Flags" },
        { false, FT_SHORT, "UiTextureKitID" },
        { true, FT_INT, "GarrTalentTreeType" },
        { true, FT_INT, "PlayerConditionID" },
        { false, FT_BYTE, "FeatureTypeIndex" },
        { false, FT_BYTE, "FeatureSubtypeIndex" },
        { true, FT_INT, "CurrencyID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 13, &GarrTalentTreeMeta::Instance, HOTFIX_SEL_GARR_TALENT_TREE };
};

struct GemPropertiesLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "EnchantId" },
        { true, FT_INT, "Type" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &GemPropertiesMeta::Instance, HOTFIX_SEL_GEM_PROPERTIES };
};

struct GlobalCurveLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "CurveID" },
        { true, FT_INT, "Type" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &GlobalCurveMeta::Instance, HOTFIX_SEL_GLOBAL_CURVE };
};

struct GlyphBindableSpellLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "SpellID" },
        { false, FT_INT, "GlyphPropertiesID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &GlyphBindableSpellMeta::Instance, HOTFIX_SEL_GLYPH_BINDABLE_SPELL };
};

struct GlyphPropertiesLoadInfo
{
    static constexpr DB2FieldMeta Fields[5] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "SpellID" },
        { false, FT_BYTE, "GlyphType" },
        { false, FT_BYTE, "GlyphExclusiveCategoryID" },
        { true, FT_INT, "SpellIconFileDataID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 5, &GlyphPropertiesMeta::Instance, HOTFIX_SEL_GLYPH_PROPERTIES };
};

struct GlyphRequiredSpecLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "ChrSpecializationID" },
        { false, FT_INT, "GlyphPropertiesID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &GlyphRequiredSpecMeta::Instance, HOTFIX_SEL_GLYPH_REQUIRED_SPEC };
};

struct GossipNpcOptionLoadInfo
{
    static constexpr DB2FieldMeta Fields[16] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "GossipNpcOption" },
        { true, FT_INT, "LFGDungeonsID" },
        { true, FT_INT, "TrainerID" },
        { true, FT_INT, "GarrFollowerTypeID" },
        { true, FT_INT, "CharShipmentID" },
        { true, FT_INT, "GarrTalentTreeID" },
        { true, FT_INT, "UiMapID" },
        { true, FT_INT, "UiItemInteractionID" },
        { true, FT_INT, "Unknown_1000_8" },
        { true, FT_INT, "Unknown_1000_9" },
        { true, FT_INT, "CovenantID" },
        { true, FT_INT, "GossipOptionID" },
        { true, FT_INT, "TraitTreeID" },
        { true, FT_INT, "ProfessionID" },
        { true, FT_INT, "Unknown_1002_14" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 16, &GossipNPCOptionMeta::Instance, HOTFIX_SEL_GOSSIP_NPC_OPTION };
};

struct GuildColorBackgroundLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { false, FT_BYTE, "Red" },
        { false, FT_BYTE, "Blue" },
        { false, FT_BYTE, "Green" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &GuildColorBackgroundMeta::Instance, HOTFIX_SEL_GUILD_COLOR_BACKGROUND };
};

struct GuildColorBorderLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { false, FT_BYTE, "Red" },
        { false, FT_BYTE, "Blue" },
        { false, FT_BYTE, "Green" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &GuildColorBorderMeta::Instance, HOTFIX_SEL_GUILD_COLOR_BORDER };
};

struct GuildColorEmblemLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { false, FT_BYTE, "Red" },
        { false, FT_BYTE, "Blue" },
        { false, FT_BYTE, "Green" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &GuildColorEmblemMeta::Instance, HOTFIX_SEL_GUILD_COLOR_EMBLEM };
};

struct GuildPerkSpellsLoadInfo
{
    static constexpr DB2FieldMeta Fields[2] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "SpellID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 2, &GuildPerkSpellsMeta::Instance, HOTFIX_SEL_GUILD_PERK_SPELLS };
};

struct HeirloomLoadInfo
{
    static constexpr DB2FieldMeta Fields[20] =
    {
        { false, FT_STRING, "SourceText" },
        { false, FT_INT, "ID" },
        { true, FT_INT, "ItemID" },
        { true, FT_INT, "LegacyUpgradedItemID" },
        { true, FT_INT, "StaticUpgradedItemID" },
        { true, FT_BYTE, "SourceTypeEnum" },
        { false, FT_BYTE, "Flags" },
        { true, FT_INT, "LegacyItemID" },
        { true, FT_INT, "UpgradeItemID1" },
        { true, FT_INT, "UpgradeItemID2" },
        { true, FT_INT, "UpgradeItemID3" },
        { true, FT_INT, "UpgradeItemID4" },
        { true, FT_INT, "UpgradeItemID5" },
        { true, FT_INT, "UpgradeItemID6" },
        { false, FT_SHORT, "UpgradeItemBonusListID1" },
        { false, FT_SHORT, "UpgradeItemBonusListID2" },
        { false, FT_SHORT, "UpgradeItemBonusListID3" },
        { false, FT_SHORT, "UpgradeItemBonusListID4" },
        { false, FT_SHORT, "UpgradeItemBonusListID5" },
        { false, FT_SHORT, "UpgradeItemBonusListID6" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 20, &HeirloomMeta::Instance, HOTFIX_SEL_HEIRLOOM };
};

struct HolidaysLoadInfo
{
    static constexpr DB2FieldMeta Fields[57] =
    {
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "Region" },
        { false, FT_BYTE, "Looping" },
        { false, FT_INT, "HolidayNameID" },
        { false, FT_INT, "HolidayDescriptionID" },
        { false, FT_BYTE, "Priority" },
        { true, FT_BYTE, "CalendarFilterType" },
        { false, FT_BYTE, "Flags" },
        { false, FT_SHORT, "Duration1" },
        { false, FT_SHORT, "Duration2" },
        { false, FT_SHORT, "Duration3" },
        { false, FT_SHORT, "Duration4" },
        { false, FT_SHORT, "Duration5" },
        { false, FT_SHORT, "Duration6" },
        { false, FT_SHORT, "Duration7" },
        { false, FT_SHORT, "Duration8" },
        { false, FT_SHORT, "Duration9" },
        { false, FT_SHORT, "Duration10" },
        { false, FT_INT, "Date1" },
        { false, FT_INT, "Date2" },
        { false, FT_INT, "Date3" },
        { false, FT_INT, "Date4" },
        { false, FT_INT, "Date5" },
        { false, FT_INT, "Date6" },
        { false, FT_INT, "Date7" },
        { false, FT_INT, "Date8" },
        { false, FT_INT, "Date9" },
        { false, FT_INT, "Date10" },
        { false, FT_INT, "Date11" },
        { false, FT_INT, "Date12" },
        { false, FT_INT, "Date13" },
        { false, FT_INT, "Date14" },
        { false, FT_INT, "Date15" },
        { false, FT_INT, "Date16" },
        { false, FT_INT, "Date17" },
        { false, FT_INT, "Date18" },
        { false, FT_INT, "Date19" },
        { false, FT_INT, "Date20" },
        { false, FT_INT, "Date21" },
        { false, FT_INT, "Date22" },
        { false, FT_INT, "Date23" },
        { false, FT_INT, "Date24" },
        { false, FT_INT, "Date25" },
        { false, FT_INT, "Date26" },
        { false, FT_BYTE, "CalendarFlags1" },
        { false, FT_BYTE, "CalendarFlags2" },
        { false, FT_BYTE, "CalendarFlags3" },
        { false, FT_BYTE, "CalendarFlags4" },
        { false, FT_BYTE, "CalendarFlags5" },
        { false, FT_BYTE, "CalendarFlags6" },
        { false, FT_BYTE, "CalendarFlags7" },
        { false, FT_BYTE, "CalendarFlags8" },
        { false, FT_BYTE, "CalendarFlags9" },
        { false, FT_BYTE, "CalendarFlags10" },
        { true, FT_INT, "TextureFileDataID1" },
        { true, FT_INT, "TextureFileDataID2" },
        { true, FT_INT, "TextureFileDataID3" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 57, &HolidaysMeta::Instance, HOTFIX_SEL_HOLIDAYS };
};

struct ImportPriceArmorLoadInfo
{
    static constexpr DB2FieldMeta Fields[5] =
    {
        { false, FT_INT, "ID" },
        { false, FT_FLOAT, "ClothModifier" },
        { false, FT_FLOAT, "LeatherModifier" },
        { false, FT_FLOAT, "ChainModifier" },
        { false, FT_FLOAT, "PlateModifier" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 5, &ImportPriceArmorMeta::Instance, HOTFIX_SEL_IMPORT_PRICE_ARMOR };
};

struct ImportPriceQualityLoadInfo
{
    static constexpr DB2FieldMeta Fields[2] =
    {
        { false, FT_INT, "ID" },
        { false, FT_FLOAT, "Data" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 2, &ImportPriceQualityMeta::Instance, HOTFIX_SEL_IMPORT_PRICE_QUALITY };
};

struct ImportPriceShieldLoadInfo
{
    static constexpr DB2FieldMeta Fields[2] =
    {
        { false, FT_INT, "ID" },
        { false, FT_FLOAT, "Data" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 2, &ImportPriceShieldMeta::Instance, HOTFIX_SEL_IMPORT_PRICE_SHIELD };
};

struct ImportPriceWeaponLoadInfo
{
    static constexpr DB2FieldMeta Fields[2] =
    {
        { false, FT_INT, "ID" },
        { false, FT_FLOAT, "Data" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 2, &ImportPriceWeaponMeta::Instance, HOTFIX_SEL_IMPORT_PRICE_WEAPON };
};

struct ItemLoadInfo
{
    static constexpr DB2FieldMeta Fields[12] =
    {
        { false, FT_INT, "ID" },
        { false, FT_BYTE, "ClassID" },
        { false, FT_BYTE, "SubclassID" },
        { false, FT_BYTE, "Material" },
        { true, FT_BYTE, "InventoryType" },
        { false, FT_BYTE, "SheatheType" },
        { true, FT_BYTE, "SoundOverrideSubclassID" },
        { true, FT_INT, "IconFileDataID" },
        { false, FT_BYTE, "ItemGroupSoundsID" },
        { true, FT_INT, "ContentTuningID" },
        { true, FT_INT, "ModifiedCraftingReagentItemID" },
        { true, FT_INT, "CraftingQualityID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 12, &ItemMeta::Instance, HOTFIX_SEL_ITEM };
};

struct ItemAppearanceLoadInfo
{
    static constexpr DB2FieldMeta Fields[6] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "DisplayType" },
        { true, FT_INT, "ItemDisplayInfoID" },
        { true, FT_INT, "DefaultIconFileDataID" },
        { true, FT_INT, "UiOrder" },
        { true, FT_INT, "PlayerConditionID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 6, &ItemAppearanceMeta::Instance, HOTFIX_SEL_ITEM_APPEARANCE };
};

struct ItemArmorQualityLoadInfo
{
    static constexpr DB2FieldMeta Fields[8] =
    {
        { false, FT_INT, "ID" },
        { false, FT_FLOAT, "Qualitymod1" },
        { false, FT_FLOAT, "Qualitymod2" },
        { false, FT_FLOAT, "Qualitymod3" },
        { false, FT_FLOAT, "Qualitymod4" },
        { false, FT_FLOAT, "Qualitymod5" },
        { false, FT_FLOAT, "Qualitymod6" },
        { false, FT_FLOAT, "Qualitymod7" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 8, &ItemArmorQualityMeta::Instance, HOTFIX_SEL_ITEM_ARMOR_QUALITY };
};

struct ItemArmorShieldLoadInfo
{
    static constexpr DB2FieldMeta Fields[9] =
    {
        { false, FT_INT, "ID" },
        { false, FT_FLOAT, "Quality1" },
        { false, FT_FLOAT, "Quality2" },
        { false, FT_FLOAT, "Quality3" },
        { false, FT_FLOAT, "Quality4" },
        { false, FT_FLOAT, "Quality5" },
        { false, FT_FLOAT, "Quality6" },
        { false, FT_FLOAT, "Quality7" },
        { false, FT_SHORT, "ItemLevel" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 9, &ItemArmorShieldMeta::Instance, HOTFIX_SEL_ITEM_ARMOR_SHIELD };
};

struct ItemArmorTotalLoadInfo
{
    static constexpr DB2FieldMeta Fields[6] =
    {
        { false, FT_INT, "ID" },
        { true, FT_SHORT, "ItemLevel" },
        { false, FT_FLOAT, "Cloth" },
        { false, FT_FLOAT, "Leather" },
        { false, FT_FLOAT, "Mail" },
        { false, FT_FLOAT, "Plate" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 6, &ItemArmorTotalMeta::Instance, HOTFIX_SEL_ITEM_ARMOR_TOTAL };
};

struct ItemBagFamilyLoadInfo
{
    static constexpr DB2FieldMeta Fields[2] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Name" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 2, &ItemBagFamilyMeta::Instance, HOTFIX_SEL_ITEM_BAG_FAMILY };
};

struct ItemBonusLoadInfo
{
    static constexpr DB2FieldMeta Fields[8] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "Value1" },
        { true, FT_INT, "Value2" },
        { true, FT_INT, "Value3" },
        { true, FT_INT, "Value4" },
        { false, FT_SHORT, "ParentItemBonusListID" },
        { false, FT_BYTE, "Type" },
        { false, FT_BYTE, "OrderIndex" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 8, &ItemBonusMeta::Instance, HOTFIX_SEL_ITEM_BONUS };
};

struct ItemBonusListGroupEntryLoadInfo
{
    static constexpr DB2FieldMeta Fields[9] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "ItemBonusListGroupID" },
        { true, FT_INT, "ItemBonusListID" },
        { true, FT_INT, "ItemLevelSelectorID" },
        { true, FT_INT, "SequenceValue" },
        { true, FT_INT, "ItemExtendedCostID" },
        { true, FT_INT, "PlayerConditionID" },
        { true, FT_INT, "Flags" },
        { true, FT_INT, "ItemLogicalCostGroupID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 9, &ItemBonusListGroupEntryMeta::Instance, HOTFIX_SEL_ITEM_BONUS_LIST_GROUP_ENTRY };
};

struct ItemBonusListLevelDeltaLoadInfo
{
    static constexpr DB2FieldMeta Fields[2] =
    {
        { true, FT_SHORT, "ItemLevelDelta" },
        { false, FT_INT, "ID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 2, &ItemBonusListLevelDeltaMeta::Instance, HOTFIX_SEL_ITEM_BONUS_LIST_LEVEL_DELTA };
};

struct ItemBonusTreeLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "Flags" },
        { true, FT_INT, "InventoryTypeSlotMask" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &ItemBonusTreeMeta::Instance, HOTFIX_SEL_ITEM_BONUS_TREE };
};

struct ItemBonusTreeNodeLoadInfo
{
    static constexpr DB2FieldMeta Fields[10] =
    {
        { false, FT_INT, "ID" },
        { false, FT_BYTE, "ItemContext" },
        { false, FT_SHORT, "ChildItemBonusTreeID" },
        { false, FT_SHORT, "ChildItemBonusListID" },
        { false, FT_SHORT, "ChildItemLevelSelectorID" },
        { true, FT_INT, "ChildItemBonusListGroupID" },
        { true, FT_INT, "IblGroupPointsModSetID" },
        { true, FT_INT, "MinMythicPlusLevel" },
        { true, FT_INT, "MaxMythicPlusLevel" },
        { false, FT_INT, "ParentItemBonusTreeID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 10, &ItemBonusTreeNodeMeta::Instance, HOTFIX_SEL_ITEM_BONUS_TREE_NODE };
};

struct ItemChildEquipmentLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "ParentItemID" },
        { true, FT_INT, "ChildItemID" },
        { false, FT_BYTE, "ChildItemEquipSlot" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &ItemChildEquipmentMeta::Instance, HOTFIX_SEL_ITEM_CHILD_EQUIPMENT };
};

struct ItemClassLoadInfo
{
    static constexpr DB2FieldMeta Fields[5] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "ClassName" },
        { true, FT_BYTE, "ClassID" },
        { false, FT_FLOAT, "PriceModifier" },
        { false, FT_BYTE, "Flags" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 5, &ItemClassMeta::Instance, HOTFIX_SEL_ITEM_CLASS };
};

struct ItemContextPickerEntryLoadInfo
{
    static constexpr DB2FieldMeta Fields[8] =
    {
        { false, FT_INT, "ID" },
        { false, FT_BYTE, "ItemCreationContext" },
        { false, FT_BYTE, "OrderIndex" },
        { true, FT_INT, "PVal" },
        { true, FT_INT, "LabelID" },
        { false, FT_INT, "Flags" },
        { false, FT_INT, "PlayerConditionID" },
        { false, FT_INT, "ItemContextPickerID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 8, &ItemContextPickerEntryMeta::Instance, HOTFIX_SEL_ITEM_CONTEXT_PICKER_ENTRY };
};

struct ItemCurrencyCostLoadInfo
{
    static constexpr DB2FieldMeta Fields[2] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "ItemID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 2, &ItemCurrencyCostMeta::Instance, HOTFIX_SEL_ITEM_CURRENCY_COST };
};

struct ItemDamageAmmoLoadInfo
{
    static constexpr DB2FieldMeta Fields[9] =
    {
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "ItemLevel" },
        { false, FT_FLOAT, "Quality1" },
        { false, FT_FLOAT, "Quality2" },
        { false, FT_FLOAT, "Quality3" },
        { false, FT_FLOAT, "Quality4" },
        { false, FT_FLOAT, "Quality5" },
        { false, FT_FLOAT, "Quality6" },
        { false, FT_FLOAT, "Quality7" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 9, &ItemDamageAmmoMeta::Instance, HOTFIX_SEL_ITEM_DAMAGE_AMMO };
};

struct ItemDamageOneHandLoadInfo
{
    static constexpr DB2FieldMeta Fields[9] =
    {
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "ItemLevel" },
        { false, FT_FLOAT, "Quality1" },
        { false, FT_FLOAT, "Quality2" },
        { false, FT_FLOAT, "Quality3" },
        { false, FT_FLOAT, "Quality4" },
        { false, FT_FLOAT, "Quality5" },
        { false, FT_FLOAT, "Quality6" },
        { false, FT_FLOAT, "Quality7" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 9, &ItemDamageOneHandMeta::Instance, HOTFIX_SEL_ITEM_DAMAGE_ONE_HAND };
};

struct ItemDamageOneHandCasterLoadInfo
{
    static constexpr DB2FieldMeta Fields[9] =
    {
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "ItemLevel" },
        { false, FT_FLOAT, "Quality1" },
        { false, FT_FLOAT, "Quality2" },
        { false, FT_FLOAT, "Quality3" },
        { false, FT_FLOAT, "Quality4" },
        { false, FT_FLOAT, "Quality5" },
        { false, FT_FLOAT, "Quality6" },
        { false, FT_FLOAT, "Quality7" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 9, &ItemDamageOneHandCasterMeta::Instance, HOTFIX_SEL_ITEM_DAMAGE_ONE_HAND_CASTER };
};

struct ItemDamageTwoHandLoadInfo
{
    static constexpr DB2FieldMeta Fields[9] =
    {
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "ItemLevel" },
        { false, FT_FLOAT, "Quality1" },
        { false, FT_FLOAT, "Quality2" },
        { false, FT_FLOAT, "Quality3" },
        { false, FT_FLOAT, "Quality4" },
        { false, FT_FLOAT, "Quality5" },
        { false, FT_FLOAT, "Quality6" },
        { false, FT_FLOAT, "Quality7" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 9, &ItemDamageTwoHandMeta::Instance, HOTFIX_SEL_ITEM_DAMAGE_TWO_HAND };
};

struct ItemDamageTwoHandCasterLoadInfo
{
    static constexpr DB2FieldMeta Fields[9] =
    {
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "ItemLevel" },
        { false, FT_FLOAT, "Quality1" },
        { false, FT_FLOAT, "Quality2" },
        { false, FT_FLOAT, "Quality3" },
        { false, FT_FLOAT, "Quality4" },
        { false, FT_FLOAT, "Quality5" },
        { false, FT_FLOAT, "Quality6" },
        { false, FT_FLOAT, "Quality7" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 9, &ItemDamageTwoHandCasterMeta::Instance, HOTFIX_SEL_ITEM_DAMAGE_TWO_HAND_CASTER };
};

struct ItemDisenchantLootLoadInfo
{
    static constexpr DB2FieldMeta Fields[8] =
    {
        { false, FT_INT, "ID" },
        { true, FT_BYTE, "Subclass" },
        { false, FT_BYTE, "Quality" },
        { false, FT_SHORT, "MinLevel" },
        { false, FT_SHORT, "MaxLevel" },
        { false, FT_SHORT, "SkillRequired" },
        { true, FT_BYTE, "ExpansionID" },
        { false, FT_INT, "Class" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 8, &ItemDisenchantLootMeta::Instance, HOTFIX_SEL_ITEM_DISENCHANT_LOOT };
};

struct ItemEffectLoadInfo
{
    static constexpr DB2FieldMeta Fields[9] =
    {
        { false, FT_INT, "ID" },
        { false, FT_BYTE, "LegacySlotIndex" },
        { true, FT_BYTE, "TriggerType" },
        { true, FT_SHORT, "Charges" },
        { true, FT_INT, "CoolDownMSec" },
        { true, FT_INT, "CategoryCoolDownMSec" },
        { false, FT_SHORT, "SpellCategoryID" },
        { true, FT_INT, "SpellID" },
        { false, FT_SHORT, "ChrSpecializationID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 9, &ItemEffectMeta::Instance, HOTFIX_SEL_ITEM_EFFECT };
};

struct ItemExtendedCostLoadInfo
{
    static constexpr DB2FieldMeta Fields[27] =
    {
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "RequiredArenaRating" },
        { true, FT_BYTE, "ArenaBracket" },
        { false, FT_BYTE, "Flags" },
        { false, FT_BYTE, "MinFactionID" },
        { true, FT_INT, "MinReputation" },
        { false, FT_BYTE, "RequiredAchievement" },
        { true, FT_INT, "ItemID1" },
        { true, FT_INT, "ItemID2" },
        { true, FT_INT, "ItemID3" },
        { true, FT_INT, "ItemID4" },
        { true, FT_INT, "ItemID5" },
        { false, FT_SHORT, "ItemCount1" },
        { false, FT_SHORT, "ItemCount2" },
        { false, FT_SHORT, "ItemCount3" },
        { false, FT_SHORT, "ItemCount4" },
        { false, FT_SHORT, "ItemCount5" },
        { false, FT_SHORT, "CurrencyID1" },
        { false, FT_SHORT, "CurrencyID2" },
        { false, FT_SHORT, "CurrencyID3" },
        { false, FT_SHORT, "CurrencyID4" },
        { false, FT_SHORT, "CurrencyID5" },
        { false, FT_INT, "CurrencyCount1" },
        { false, FT_INT, "CurrencyCount2" },
        { false, FT_INT, "CurrencyCount3" },
        { false, FT_INT, "CurrencyCount4" },
        { false, FT_INT, "CurrencyCount5" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 27, &ItemExtendedCostMeta::Instance, HOTFIX_SEL_ITEM_EXTENDED_COST };
};

struct ItemLevelSelectorLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "MinItemLevel" },
        { false, FT_SHORT, "ItemLevelSelectorQualitySetID" },
        { false, FT_SHORT, "AzeriteUnlockMappingSet" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &ItemLevelSelectorMeta::Instance, HOTFIX_SEL_ITEM_LEVEL_SELECTOR };
};

struct ItemLevelSelectorQualityLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "QualityItemBonusListID" },
        { true, FT_BYTE, "Quality" },
        { false, FT_INT, "ParentILSQualitySetID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &ItemLevelSelectorQualityMeta::Instance, HOTFIX_SEL_ITEM_LEVEL_SELECTOR_QUALITY };
};

struct ItemLevelSelectorQualitySetLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { true, FT_SHORT, "IlvlRare" },
        { true, FT_SHORT, "IlvlEpic" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &ItemLevelSelectorQualitySetMeta::Instance, HOTFIX_SEL_ITEM_LEVEL_SELECTOR_QUALITY_SET };
};

struct ItemLimitCategoryLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Name" },
        { false, FT_BYTE, "Quantity" },
        { false, FT_BYTE, "Flags" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &ItemLimitCategoryMeta::Instance, HOTFIX_SEL_ITEM_LIMIT_CATEGORY };
};

struct ItemLimitCategoryConditionLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { true, FT_BYTE, "AddQuantity" },
        { false, FT_INT, "PlayerConditionID" },
        { false, FT_INT, "ParentItemLimitCategoryID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &ItemLimitCategoryConditionMeta::Instance, HOTFIX_SEL_ITEM_LIMIT_CATEGORY_CONDITION };
};

struct ItemModifiedAppearanceLoadInfo
{
    static constexpr DB2FieldMeta Fields[7] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "ItemID" },
        { true, FT_INT, "ItemAppearanceModifierID" },
        { true, FT_INT, "ItemAppearanceID" },
        { true, FT_INT, "OrderIndex" },
        { false, FT_BYTE, "TransmogSourceTypeEnum" },
        { true, FT_INT, "Flags" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 7, &ItemModifiedAppearanceMeta::Instance, HOTFIX_SEL_ITEM_MODIFIED_APPEARANCE };
};

struct ItemModifiedAppearanceExtraLoadInfo
{
    static constexpr DB2FieldMeta Fields[6] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "IconFileDataID" },
        { true, FT_INT, "UnequippedIconFileDataID" },
        { false, FT_BYTE, "SheatheType" },
        { true, FT_BYTE, "DisplayWeaponSubclassID" },
        { true, FT_BYTE, "DisplayInventoryType" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 6, &ItemModifiedAppearanceExtraMeta::Instance, HOTFIX_SEL_ITEM_MODIFIED_APPEARANCE_EXTRA };
};

struct ItemNameDescriptionLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Description" },
        { true, FT_INT, "Color" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &ItemNameDescriptionMeta::Instance, HOTFIX_SEL_ITEM_NAME_DESCRIPTION };
};

struct ItemPriceBaseLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "ItemLevel" },
        { false, FT_FLOAT, "Armor" },
        { false, FT_FLOAT, "Weapon" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &ItemPriceBaseMeta::Instance, HOTFIX_SEL_ITEM_PRICE_BASE };
};

struct ItemSearchNameLoadInfo
{
    static constexpr DB2FieldMeta Fields[17] =
    {
        { false, FT_INT, "ID" },
        { true, FT_LONG, "AllowableRace" },
        { false, FT_STRING, "Display" },
        { false, FT_BYTE, "OverallQualityID" },
        { true, FT_INT, "ExpansionID" },
        { false, FT_SHORT, "MinFactionID" },
        { true, FT_INT, "MinReputation" },
        { true, FT_INT, "AllowableClass" },
        { true, FT_BYTE, "RequiredLevel" },
        { false, FT_SHORT, "RequiredSkill" },
        { false, FT_SHORT, "RequiredSkillRank" },
        { false, FT_INT, "RequiredAbility" },
        { false, FT_SHORT, "ItemLevel" },
        { true, FT_INT, "Flags1" },
        { true, FT_INT, "Flags2" },
        { true, FT_INT, "Flags3" },
        { true, FT_INT, "Flags4" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 17, &ItemSearchNameMeta::Instance, HOTFIX_SEL_ITEM_SEARCH_NAME };
};

struct ItemSetLoadInfo
{
    static constexpr DB2FieldMeta Fields[22] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Name" },
        { false, FT_INT, "SetFlags" },
        { false, FT_INT, "RequiredSkill" },
        { false, FT_SHORT, "RequiredSkillRank" },
        { false, FT_INT, "ItemID1" },
        { false, FT_INT, "ItemID2" },
        { false, FT_INT, "ItemID3" },
        { false, FT_INT, "ItemID4" },
        { false, FT_INT, "ItemID5" },
        { false, FT_INT, "ItemID6" },
        { false, FT_INT, "ItemID7" },
        { false, FT_INT, "ItemID8" },
        { false, FT_INT, "ItemID9" },
        { false, FT_INT, "ItemID10" },
        { false, FT_INT, "ItemID11" },
        { false, FT_INT, "ItemID12" },
        { false, FT_INT, "ItemID13" },
        { false, FT_INT, "ItemID14" },
        { false, FT_INT, "ItemID15" },
        { false, FT_INT, "ItemID16" },
        { false, FT_INT, "ItemID17" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 22, &ItemSetMeta::Instance, HOTFIX_SEL_ITEM_SET };
};

struct ItemSetSpellLoadInfo
{
    static constexpr DB2FieldMeta Fields[5] =
    {
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "ChrSpecID" },
        { false, FT_INT, "SpellID" },
        { false, FT_BYTE, "Threshold" },
        { false, FT_INT, "ItemSetID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 5, &ItemSetSpellMeta::Instance, HOTFIX_SEL_ITEM_SET_SPELL };
};

struct ItemSparseLoadInfo
{
    static constexpr DB2FieldMeta Fields[98] =
    {
        { false, FT_INT, "ID" },
        { true, FT_LONG, "AllowableRace" },
        { false, FT_STRING, "Description" },
        { false, FT_STRING, "Display3" },
        { false, FT_STRING, "Display2" },
        { false, FT_STRING, "Display1" },
        { false, FT_STRING, "Display" },
        { true, FT_INT, "ExpansionID" },
        { false, FT_FLOAT, "DmgVariance" },
        { true, FT_INT, "LimitCategory" },
        { false, FT_INT, "DurationInInventory" },
        { false, FT_FLOAT, "QualityModifier" },
        { false, FT_INT, "BagFamily" },
        { true, FT_INT, "StartQuestID" },
        { true, FT_INT, "LanguageID" },
        { false, FT_FLOAT, "ItemRange" },
        { false, FT_FLOAT, "StatPercentageOfSocket1" },
        { false, FT_FLOAT, "StatPercentageOfSocket2" },
        { false, FT_FLOAT, "StatPercentageOfSocket3" },
        { false, FT_FLOAT, "StatPercentageOfSocket4" },
        { false, FT_FLOAT, "StatPercentageOfSocket5" },
        { false, FT_FLOAT, "StatPercentageOfSocket6" },
        { false, FT_FLOAT, "StatPercentageOfSocket7" },
        { false, FT_FLOAT, "StatPercentageOfSocket8" },
        { false, FT_FLOAT, "StatPercentageOfSocket9" },
        { false, FT_FLOAT, "StatPercentageOfSocket10" },
        { true, FT_INT, "StatPercentEditor1" },
        { true, FT_INT, "StatPercentEditor2" },
        { true, FT_INT, "StatPercentEditor3" },
        { true, FT_INT, "StatPercentEditor4" },
        { true, FT_INT, "StatPercentEditor5" },
        { true, FT_INT, "StatPercentEditor6" },
        { true, FT_INT, "StatPercentEditor7" },
        { true, FT_INT, "StatPercentEditor8" },
        { true, FT_INT, "StatPercentEditor9" },
        { true, FT_INT, "StatPercentEditor10" },
        { true, FT_INT, "Stackable" },
        { true, FT_INT, "MaxCount" },
        { true, FT_INT, "MinReputation" },
        { false, FT_INT, "RequiredAbility" },
        { false, FT_INT, "SellPrice" },
        { false, FT_INT, "BuyPrice" },
        { false, FT_INT, "VendorStackCount" },
        { false, FT_FLOAT, "PriceVariance" },
        { false, FT_FLOAT, "PriceRandomValue" },
        { true, FT_INT, "Flags1" },
        { true, FT_INT, "Flags2" },
        { true, FT_INT, "Flags3" },
        { true, FT_INT, "Flags4" },
        { true, FT_INT, "FactionRelated" },
        { true, FT_INT, "ModifiedCraftingReagentItemID" },
        { true, FT_INT, "ContentTuningID" },
        { true, FT_INT, "PlayerLevelToItemLevelCurveID" },
        { false, FT_SHORT, "ItemNameDescriptionID" },
        { false, FT_SHORT, "RequiredTransmogHoliday" },
        { false, FT_SHORT, "RequiredHoliday" },
        { false, FT_SHORT, "GemProperties" },
        { false, FT_SHORT, "SocketMatchEnchantmentId" },
        { false, FT_SHORT, "TotemCategoryID" },
        { false, FT_SHORT, "InstanceBound" },
        { false, FT_SHORT, "ZoneBound1" },
        { false, FT_SHORT, "ZoneBound2" },
        { false, FT_SHORT, "ItemSet" },
        { false, FT_SHORT, "LockID" },
        { false, FT_SHORT, "PageID" },
        { false, FT_SHORT, "ItemDelay" },
        { false, FT_SHORT, "MinFactionID" },
        { false, FT_SHORT, "RequiredSkillRank" },
        { false, FT_SHORT, "RequiredSkill" },
        { false, FT_SHORT, "ItemLevel" },
        { true, FT_SHORT, "AllowableClass" },
        { false, FT_BYTE, "ArtifactID" },
        { false, FT_BYTE, "SpellWeight" },
        { false, FT_BYTE, "SpellWeightCategory" },
        { false, FT_BYTE, "SocketType1" },
        { false, FT_BYTE, "SocketType2" },
        { false, FT_BYTE, "SocketType3" },
        { false, FT_BYTE, "SheatheType" },
        { false, FT_BYTE, "Material" },
        { false, FT_BYTE, "PageMaterialID" },
        { false, FT_BYTE, "Bonding" },
        { false, FT_BYTE, "DamageDamageType" },
        { true, FT_BYTE, "StatModifierBonusStat1" },
        { true, FT_BYTE, "StatModifierBonusStat2" },
        { true, FT_BYTE, "StatModifierBonusStat3" },
        { true, FT_BYTE, "StatModifierBonusStat4" },
        { true, FT_BYTE, "StatModifierBonusStat5" },
        { true, FT_BYTE, "StatModifierBonusStat6" },
        { true, FT_BYTE, "StatModifierBonusStat7" },
        { true, FT_BYTE, "StatModifierBonusStat8" },
        { true, FT_BYTE, "StatModifierBonusStat9" },
        { true, FT_BYTE, "StatModifierBonusStat10" },
        { false, FT_BYTE, "ContainerSlots" },
        { false, FT_BYTE, "RequiredPVPMedal" },
        { false, FT_BYTE, "RequiredPVPRank" },
        { true, FT_BYTE, "RequiredLevel" },
        { true, FT_BYTE, "InventoryType" },
        { true, FT_BYTE, "OverallQualityID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 98, &ItemSparseMeta::Instance, HOTFIX_SEL_ITEM_SPARSE };
};

struct ItemSpecLoadInfo
{
    static constexpr DB2FieldMeta Fields[7] =
    {
        { false, FT_INT, "ID" },
        { false, FT_BYTE, "MinLevel" },
        { false, FT_BYTE, "MaxLevel" },
        { false, FT_BYTE, "ItemType" },
        { false, FT_BYTE, "PrimaryStat" },
        { false, FT_BYTE, "SecondaryStat" },
        { false, FT_SHORT, "SpecializationID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 7, &ItemSpecMeta::Instance, HOTFIX_SEL_ITEM_SPEC };
};

struct ItemSpecOverrideLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "SpecID" },
        { false, FT_INT, "ItemID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &ItemSpecOverrideMeta::Instance, HOTFIX_SEL_ITEM_SPEC_OVERRIDE };
};

struct ItemXBonusTreeLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "ItemBonusTreeID" },
        { false, FT_INT, "ItemID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &ItemXBonusTreeMeta::Instance, HOTFIX_SEL_ITEM_X_BONUS_TREE };
};

struct ItemXItemEffectLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "ItemEffectID" },
        { false, FT_INT, "ItemID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &ItemXItemEffectMeta::Instance, HOTFIX_SEL_ITEM_X_ITEM_EFFECT };
};

struct JournalEncounterLoadInfo
{
    static constexpr DB2FieldMeta Fields[13] =
    {
        { false, FT_STRING, "Name" },
        { false, FT_STRING, "Description" },
        { false, FT_FLOAT, "MapX" },
        { false, FT_FLOAT, "MapY" },
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "JournalInstanceID" },
        { false, FT_SHORT, "DungeonEncounterID" },
        { false, FT_INT, "OrderIndex" },
        { false, FT_SHORT, "FirstSectionID" },
        { false, FT_SHORT, "UiMapID" },
        { false, FT_INT, "MapDisplayConditionID" },
        { true, FT_INT, "Flags" },
        { true, FT_BYTE, "DifficultyMask" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 13, &JournalEncounterMeta::Instance, HOTFIX_SEL_JOURNAL_ENCOUNTER };
};

struct JournalEncounterSectionLoadInfo
{
    static constexpr DB2FieldMeta Fields[16] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Title" },
        { false, FT_STRING, "BodyText" },
        { false, FT_SHORT, "JournalEncounterID" },
        { false, FT_BYTE, "OrderIndex" },
        { false, FT_SHORT, "ParentSectionID" },
        { false, FT_SHORT, "FirstChildSectionID" },
        { false, FT_SHORT, "NextSiblingSectionID" },
        { false, FT_BYTE, "Type" },
        { false, FT_INT, "IconCreatureDisplayInfoID" },
        { true, FT_INT, "UiModelSceneID" },
        { true, FT_INT, "SpellID" },
        { true, FT_INT, "IconFileDataID" },
        { true, FT_INT, "Flags" },
        { true, FT_INT, "IconFlags" },
        { true, FT_BYTE, "DifficultyMask" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 16, &JournalEncounterSectionMeta::Instance, HOTFIX_SEL_JOURNAL_ENCOUNTER_SECTION };
};

struct JournalInstanceLoadInfo
{
    static constexpr DB2FieldMeta Fields[10] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Name" },
        { false, FT_STRING, "Description" },
        { false, FT_SHORT, "MapID" },
        { true, FT_INT, "BackgroundFileDataID" },
        { true, FT_INT, "ButtonFileDataID" },
        { true, FT_INT, "ButtonSmallFileDataID" },
        { true, FT_INT, "LoreFileDataID" },
        { true, FT_INT, "Flags" },
        { false, FT_SHORT, "AreaID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 10, &JournalInstanceMeta::Instance, HOTFIX_SEL_JOURNAL_INSTANCE };
};

struct JournalTierLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Name" },
        { true, FT_INT, "PlayerConditionID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &JournalTierMeta::Instance, HOTFIX_SEL_JOURNAL_TIER };
};

struct KeychainLoadInfo
{
    static constexpr DB2FieldMeta Fields[33] =
    {
        { false, FT_INT, "ID" },
        { false, FT_BYTE, "Key1" },
        { false, FT_BYTE, "Key2" },
        { false, FT_BYTE, "Key3" },
        { false, FT_BYTE, "Key4" },
        { false, FT_BYTE, "Key5" },
        { false, FT_BYTE, "Key6" },
        { false, FT_BYTE, "Key7" },
        { false, FT_BYTE, "Key8" },
        { false, FT_BYTE, "Key9" },
        { false, FT_BYTE, "Key10" },
        { false, FT_BYTE, "Key11" },
        { false, FT_BYTE, "Key12" },
        { false, FT_BYTE, "Key13" },
        { false, FT_BYTE, "Key14" },
        { false, FT_BYTE, "Key15" },
        { false, FT_BYTE, "Key16" },
        { false, FT_BYTE, "Key17" },
        { false, FT_BYTE, "Key18" },
        { false, FT_BYTE, "Key19" },
        { false, FT_BYTE, "Key20" },
        { false, FT_BYTE, "Key21" },
        { false, FT_BYTE, "Key22" },
        { false, FT_BYTE, "Key23" },
        { false, FT_BYTE, "Key24" },
        { false, FT_BYTE, "Key25" },
        { false, FT_BYTE, "Key26" },
        { false, FT_BYTE, "Key27" },
        { false, FT_BYTE, "Key28" },
        { false, FT_BYTE, "Key29" },
        { false, FT_BYTE, "Key30" },
        { false, FT_BYTE, "Key31" },
        { false, FT_BYTE, "Key32" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 33, &KeychainMeta::Instance, HOTFIX_SEL_KEYCHAIN };
};

struct KeystoneAffixLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_STRING, "Name" },
        { false, FT_STRING, "Description" },
        { false, FT_INT, "ID" },
        { true, FT_INT, "FiledataID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &KeystoneAffixMeta::Instance, HOTFIX_SEL_KEYSTONE_AFFIX };
};

struct LanguageWordsLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING_NOT_LOCALIZED, "Word" },
        { false, FT_INT, "LanguageID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &LanguageWordsMeta::Instance, HOTFIX_SEL_LANGUAGE_WORDS };
};

struct LanguagesLoadInfo
{
    static constexpr DB2FieldMeta Fields[6] =
    {
        { false, FT_STRING, "Name" },
        { false, FT_INT, "ID" },
        { true, FT_INT, "Flags" },
        { true, FT_INT, "UiTextureKitID" },
        { true, FT_INT, "UiTextureKitElementCount" },
        { true, FT_INT, "LearningCurveID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 6, &LanguagesMeta::Instance, HOTFIX_SEL_LANGUAGES };
};

struct LfgDungeonsLoadInfo
{
    static constexpr DB2FieldMeta Fields[31] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Name" },
        { false, FT_STRING, "Description" },
        { false, FT_BYTE, "TypeID" },
        { false, FT_BYTE, "Subtype" },
        { true, FT_BYTE, "Faction" },
        { true, FT_INT, "IconTextureFileID" },
        { true, FT_INT, "RewardsBgTextureFileID" },
        { true, FT_INT, "PopupBgTextureFileID" },
        { false, FT_BYTE, "ExpansionLevel" },
        { true, FT_SHORT, "MapID" },
        { false, FT_BYTE, "DifficultyID" },
        { false, FT_FLOAT, "MinGear" },
        { false, FT_BYTE, "GroupID" },
        { false, FT_BYTE, "OrderIndex" },
        { false, FT_INT, "RequiredPlayerConditionId" },
        { false, FT_SHORT, "RandomID" },
        { false, FT_SHORT, "ScenarioID" },
        { false, FT_SHORT, "FinalEncounterID" },
        { false, FT_BYTE, "CountTank" },
        { false, FT_BYTE, "CountHealer" },
        { false, FT_BYTE, "CountDamage" },
        { false, FT_BYTE, "MinCountTank" },
        { false, FT_BYTE, "MinCountHealer" },
        { false, FT_BYTE, "MinCountDamage" },
        { false, FT_SHORT, "BonusReputationAmount" },
        { false, FT_SHORT, "MentorItemLevel" },
        { false, FT_BYTE, "MentorCharLevel" },
        { true, FT_INT, "ContentTuningID" },
        { true, FT_INT, "Flags1" },
        { true, FT_INT, "Flags2" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 31, &LFGDungeonsMeta::Instance, HOTFIX_SEL_LFG_DUNGEONS };
};

struct LightLoadInfo
{
    static constexpr DB2FieldMeta Fields[15] =
    {
        { false, FT_INT, "ID" },
        { false, FT_FLOAT, "GameCoordsX" },
        { false, FT_FLOAT, "GameCoordsY" },
        { false, FT_FLOAT, "GameCoordsZ" },
        { false, FT_FLOAT, "GameFalloffStart" },
        { false, FT_FLOAT, "GameFalloffEnd" },
        { true, FT_SHORT, "ContinentID" },
        { false, FT_SHORT, "LightParamsID1" },
        { false, FT_SHORT, "LightParamsID2" },
        { false, FT_SHORT, "LightParamsID3" },
        { false, FT_SHORT, "LightParamsID4" },
        { false, FT_SHORT, "LightParamsID5" },
        { false, FT_SHORT, "LightParamsID6" },
        { false, FT_SHORT, "LightParamsID7" },
        { false, FT_SHORT, "LightParamsID8" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 15, &LightMeta::Instance, HOTFIX_SEL_LIGHT };
};

struct LiquidTypeLoadInfo
{
    static constexpr DB2FieldMeta Fields[56] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING_NOT_LOCALIZED, "Name" },
        { false, FT_STRING_NOT_LOCALIZED, "Texture1" },
        { false, FT_STRING_NOT_LOCALIZED, "Texture2" },
        { false, FT_STRING_NOT_LOCALIZED, "Texture3" },
        { false, FT_STRING_NOT_LOCALIZED, "Texture4" },
        { false, FT_STRING_NOT_LOCALIZED, "Texture5" },
        { false, FT_STRING_NOT_LOCALIZED, "Texture6" },
        { false, FT_SHORT, "Flags" },
        { false, FT_BYTE, "SoundBank" },
        { false, FT_INT, "SoundID" },
        { false, FT_INT, "SpellID" },
        { false, FT_FLOAT, "MaxDarkenDepth" },
        { false, FT_FLOAT, "FogDarkenIntensity" },
        { false, FT_FLOAT, "AmbDarkenIntensity" },
        { false, FT_FLOAT, "DirDarkenIntensity" },
        { false, FT_SHORT, "LightID" },
        { false, FT_FLOAT, "ParticleScale" },
        { false, FT_BYTE, "ParticleMovement" },
        { false, FT_BYTE, "ParticleTexSlots" },
        { false, FT_BYTE, "MaterialID" },
        { true, FT_INT, "MinimapStaticCol" },
        { false, FT_BYTE, "FrameCountTexture1" },
        { false, FT_BYTE, "FrameCountTexture2" },
        { false, FT_BYTE, "FrameCountTexture3" },
        { false, FT_BYTE, "FrameCountTexture4" },
        { false, FT_BYTE, "FrameCountTexture5" },
        { false, FT_BYTE, "FrameCountTexture6" },
        { true, FT_INT, "Color1" },
        { true, FT_INT, "Color2" },
        { false, FT_FLOAT, "Float1" },
        { false, FT_FLOAT, "Float2" },
        { false, FT_FLOAT, "Float3" },
        { false, FT_FLOAT, "Float4" },
        { false, FT_FLOAT, "Float5" },
        { false, FT_FLOAT, "Float6" },
        { false, FT_FLOAT, "Float7" },
        { false, FT_FLOAT, "Float8" },
        { false, FT_FLOAT, "Float9" },
        { false, FT_FLOAT, "Float10" },
        { false, FT_FLOAT, "Float11" },
        { false, FT_FLOAT, "Float12" },
        { false, FT_FLOAT, "Float13" },
        { false, FT_FLOAT, "Float14" },
        { false, FT_FLOAT, "Float15" },
        { false, FT_FLOAT, "Float16" },
        { false, FT_FLOAT, "Float17" },
        { false, FT_FLOAT, "Float18" },
        { false, FT_INT, "Int1" },
        { false, FT_INT, "Int2" },
        { false, FT_INT, "Int3" },
        { false, FT_INT, "Int4" },
        { false, FT_FLOAT, "Coefficient1" },
        { false, FT_FLOAT, "Coefficient2" },
        { false, FT_FLOAT, "Coefficient3" },
        { false, FT_FLOAT, "Coefficient4" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 56, &LiquidTypeMeta::Instance, HOTFIX_SEL_LIQUID_TYPE };
};

struct LocationLoadInfo
{
    static constexpr DB2FieldMeta Fields[7] =
    {
        { false, FT_INT, "ID" },
        { false, FT_FLOAT, "PosX" },
        { false, FT_FLOAT, "PosY" },
        { false, FT_FLOAT, "PosZ" },
        { false, FT_FLOAT, "Rot1" },
        { false, FT_FLOAT, "Rot2" },
        { false, FT_FLOAT, "Rot3" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 7, &LocationMeta::Instance, HOTFIX_SEL_LOCATION };
};

struct LockLoadInfo
{
    static constexpr DB2FieldMeta Fields[34] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "Flags" },
        { true, FT_INT, "Index1" },
        { true, FT_INT, "Index2" },
        { true, FT_INT, "Index3" },
        { true, FT_INT, "Index4" },
        { true, FT_INT, "Index5" },
        { true, FT_INT, "Index6" },
        { true, FT_INT, "Index7" },
        { true, FT_INT, "Index8" },
        { false, FT_SHORT, "Skill1" },
        { false, FT_SHORT, "Skill2" },
        { false, FT_SHORT, "Skill3" },
        { false, FT_SHORT, "Skill4" },
        { false, FT_SHORT, "Skill5" },
        { false, FT_SHORT, "Skill6" },
        { false, FT_SHORT, "Skill7" },
        { false, FT_SHORT, "Skill8" },
        { false, FT_BYTE, "Type1" },
        { false, FT_BYTE, "Type2" },
        { false, FT_BYTE, "Type3" },
        { false, FT_BYTE, "Type4" },
        { false, FT_BYTE, "Type5" },
        { false, FT_BYTE, "Type6" },
        { false, FT_BYTE, "Type7" },
        { false, FT_BYTE, "Type8" },
        { false, FT_BYTE, "Action1" },
        { false, FT_BYTE, "Action2" },
        { false, FT_BYTE, "Action3" },
        { false, FT_BYTE, "Action4" },
        { false, FT_BYTE, "Action5" },
        { false, FT_BYTE, "Action6" },
        { false, FT_BYTE, "Action7" },
        { false, FT_BYTE, "Action8" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 34, &LockMeta::Instance, HOTFIX_SEL_LOCK };
};

struct MailTemplateLoadInfo
{
    static constexpr DB2FieldMeta Fields[2] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Body" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 2, &MailTemplateMeta::Instance, HOTFIX_SEL_MAIL_TEMPLATE };
};

struct MapLoadInfo
{
    static constexpr DB2FieldMeta Fields[28] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING_NOT_LOCALIZED, "Directory" },
        { false, FT_STRING, "MapName" },
        { false, FT_STRING, "MapDescription0" },
        { false, FT_STRING, "MapDescription1" },
        { false, FT_STRING, "PvpShortDescription" },
        { false, FT_STRING, "PvpLongDescription" },
        { false, FT_FLOAT, "CorpseX" },
        { false, FT_FLOAT, "CorpseY" },
        { false, FT_BYTE, "MapType" },
        { true, FT_BYTE, "InstanceType" },
        { false, FT_BYTE, "ExpansionID" },
        { false, FT_SHORT, "AreaTableID" },
        { true, FT_SHORT, "LoadingScreenID" },
        { true, FT_SHORT, "TimeOfDayOverride" },
        { true, FT_SHORT, "ParentMapID" },
        { true, FT_SHORT, "CosmeticParentMapID" },
        { false, FT_BYTE, "TimeOffset" },
        { false, FT_FLOAT, "MinimapIconScale" },
        { true, FT_SHORT, "CorpseMapID" },
        { false, FT_BYTE, "MaxPlayers" },
        { true, FT_SHORT, "WindSettingsID" },
        { true, FT_INT, "ZmpFileDataID" },
        { true, FT_INT, "WdtFileDataID" },
        { true, FT_INT, "NavigationMaxDistance" },
        { true, FT_INT, "Flags1" },
        { true, FT_INT, "Flags2" },
        { true, FT_INT, "Flags3" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 28, &MapMeta::Instance, HOTFIX_SEL_MAP };
};

struct MapChallengeModeLoadInfo
{
    static constexpr DB2FieldMeta Fields[9] =
    {
        { false, FT_STRING, "Name" },
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "MapID" },
        { false, FT_BYTE, "Flags" },
        { false, FT_INT, "ExpansionLevel" },
        { true, FT_INT, "RequiredWorldStateID" },
        { true, FT_SHORT, "CriteriaCount1" },
        { true, FT_SHORT, "CriteriaCount2" },
        { true, FT_SHORT, "CriteriaCount3" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 9, &MapChallengeModeMeta::Instance, HOTFIX_SEL_MAP_CHALLENGE_MODE };
};

struct MapDifficultyLoadInfo
{
    static constexpr DB2FieldMeta Fields[11] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Message" },
        { true, FT_INT, "DifficultyID" },
        { true, FT_INT, "LockID" },
        { false, FT_BYTE, "ResetInterval" },
        { true, FT_INT, "MaxPlayers" },
        { true, FT_INT, "ItemContext" },
        { true, FT_INT, "ItemContextPickerID" },
        { true, FT_INT, "Flags" },
        { true, FT_INT, "ContentTuningID" },
        { false, FT_INT, "MapID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 11, &MapDifficultyMeta::Instance, HOTFIX_SEL_MAP_DIFFICULTY };
};

struct MapDifficultyXConditionLoadInfo
{
    static constexpr DB2FieldMeta Fields[5] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "FailureDescription" },
        { false, FT_INT, "PlayerConditionID" },
        { true, FT_INT, "OrderIndex" },
        { false, FT_INT, "MapDifficultyID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 5, &MapDifficultyXConditionMeta::Instance, HOTFIX_SEL_MAP_DIFFICULTY_X_CONDITION };
};

struct MawPowerLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "SpellID" },
        { true, FT_INT, "MawPowerRarityID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &MawPowerMeta::Instance, HOTFIX_SEL_MAW_POWER };
};

struct MCRSlotXMCRCategoryLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "ModifiedCraftingCategoryID" },
        { true, FT_INT, "Order" },
        { false, FT_INT, "ModifiedCraftingReagentSlotID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &MCRSlotXMCRCategoryMeta::Instance, HOTFIX_SEL_MCR_SLOT_X_MCR_CATEGORY };
};

struct ModifiedCraftingCategoryLoadInfo
{
    static constexpr DB2FieldMeta Fields[6] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "DisplayName" },
        { false, FT_STRING, "Description" },
        { true, FT_INT, "Field_9_0_1_33978_001" },
        { false, FT_FLOAT, "MatQualityWeight" },
        { true, FT_INT, "Field_10_0_0_44649_004" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 6, &ModifiedCraftingCategoryMeta::Instance, HOTFIX_SEL_MODIFIED_CRAFTING_CATEGORY };
};

struct ModifiedCraftingReagentItemLoadInfo
{
    static constexpr DB2FieldMeta Fields[7] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Description" },
        { true, FT_INT, "ModifiedCraftingCategoryID" },
        { true, FT_INT, "ItemBonusTreeID" },
        { true, FT_INT, "Flags" },
        { true, FT_INT, "Field_9_1_0_38511_004" },
        { true, FT_INT, "ItemContextOffset" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 7, &ModifiedCraftingReagentItemMeta::Instance, HOTFIX_SEL_MODIFIED_CRAFTING_REAGENT_ITEM };
};

struct ModifiedCraftingReagentSlotLoadInfo
{
    static constexpr DB2FieldMeta Fields[6] =
    {
        { false, FT_STRING, "Name" },
        { false, FT_INT, "ID" },
        { true, FT_INT, "Field_9_0_1_33978_001" },
        { true, FT_INT, "PlayerConditionID" },
        { true, FT_INT, "ReagentType" },
        { false, FT_BYTE, "Field_10_0_2_46091_005" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 6, &ModifiedCraftingReagentSlotMeta::Instance, HOTFIX_SEL_MODIFIED_CRAFTING_REAGENT_SLOT };
};

struct ModifiedCraftingSpellSlotLoadInfo
{
    static constexpr DB2FieldMeta Fields[7] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "SpellID" },
        { true, FT_INT, "Slot" },
        { true, FT_INT, "ModifiedCraftingReagentSlotID" },
        { true, FT_INT, "Field_9_0_1_35679_003" },
        { true, FT_INT, "ReagentCount" },
        { true, FT_INT, "ReagentReCraftCount" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 7, &ModifiedCraftingSpellSlotMeta::Instance, HOTFIX_SEL_MODIFIED_CRAFTING_SPELL_SLOT };
};

struct ModifierTreeLoadInfo
{
    static constexpr DB2FieldMeta Fields[8] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "Parent" },
        { true, FT_BYTE, "Operator" },
        { true, FT_BYTE, "Amount" },
        { true, FT_INT, "Type" },
        { true, FT_INT, "Asset" },
        { true, FT_INT, "SecondaryAsset" },
        { true, FT_INT, "TertiaryAsset" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 8, &ModifierTreeMeta::Instance, HOTFIX_SEL_MODIFIER_TREE };
};

struct MountLoadInfo
{
    static constexpr DB2FieldMeta Fields[13] =
    {
        { false, FT_STRING, "Name" },
        { false, FT_STRING, "SourceText" },
        { false, FT_STRING, "Description" },
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "MountTypeID" },
        { true, FT_INT, "Flags" },
        { true, FT_BYTE, "SourceTypeEnum" },
        { true, FT_INT, "SourceSpellID" },
        { false, FT_INT, "PlayerConditionID" },
        { false, FT_FLOAT, "MountFlyRideHeight" },
        { true, FT_INT, "UiModelSceneID" },
        { true, FT_INT, "MountSpecialRiderAnimKitID" },
        { true, FT_INT, "MountSpecialSpellVisualKitID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 13, &MountMeta::Instance, HOTFIX_SEL_MOUNT };
};

struct MountCapabilityLoadInfo
{
    static constexpr DB2FieldMeta Fields[10] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "Flags" },
        { false, FT_SHORT, "ReqRidingSkill" },
        { false, FT_SHORT, "ReqAreaID" },
        { false, FT_INT, "ReqSpellAuraID" },
        { true, FT_INT, "ReqSpellKnownID" },
        { true, FT_INT, "ModSpellAuraID" },
        { true, FT_SHORT, "ReqMapID" },
        { true, FT_INT, "PlayerConditionID" },
        { true, FT_INT, "FlightCapabilityID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 10, &MountCapabilityMeta::Instance, HOTFIX_SEL_MOUNT_CAPABILITY };
};

struct MountEquipmentLoadInfo
{
    static constexpr DB2FieldMeta Fields[5] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "Item" },
        { true, FT_INT, "BuffSpell" },
        { true, FT_INT, "Unknown820" },
        { false, FT_INT, "LearnedBySpell" },
    };
    static constexpr DB2LoadInfo Instance{ Fields, 5, &MountEquipmentMeta::Instance, HOTFIX_SEL_MOUNT_EQUIPMENT };
};

struct MountTypeXCapabilityLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "MountTypeID" },
        { false, FT_SHORT, "MountCapabilityID" },
        { false, FT_BYTE, "OrderIndex" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &MountTypeXCapabilityMeta::Instance, HOTFIX_SEL_MOUNT_TYPE_X_CAPABILITY };
};

struct MountXDisplayLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "CreatureDisplayInfoID" },
        { false, FT_INT, "PlayerConditionID" },
        { false, FT_INT, "MountID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &MountXDisplayMeta::Instance, HOTFIX_SEL_MOUNT_X_DISPLAY };
};

struct MovieLoadInfo
{
    static constexpr DB2FieldMeta Fields[6] =
    {
        { false, FT_INT, "ID" },
        { false, FT_BYTE, "Volume" },
        { false, FT_BYTE, "KeyID" },
        { false, FT_INT, "AudioFileDataID" },
        { false, FT_INT, "SubtitleFileDataID" },
        { false, FT_INT, "SubtitleFileFormat" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 6, &MovieMeta::Instance, HOTFIX_SEL_MOVIE };
};

struct MythicPlusSeasonLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "MilestoneSeason" },
        { true, FT_INT, "ExpansionLevel" },
        { true, FT_INT, "HeroicLFGDungeonMinGear" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &MythicPlusSeasonMeta::Instance, HOTFIX_SEL_MYTHIC_PLUS_SEASON };
};

struct NameGenLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING_NOT_LOCALIZED, "Name" },
        { false, FT_BYTE, "RaceID" },
        { false, FT_BYTE, "Sex" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &NameGenMeta::Instance, HOTFIX_SEL_NAME_GEN };
};

struct NamesProfanityLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING_NOT_LOCALIZED, "Name" },
        { true, FT_BYTE, "Language" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &NamesProfanityMeta::Instance, HOTFIX_SEL_NAMES_PROFANITY };
};

struct NamesReservedLoadInfo
{
    static constexpr DB2FieldMeta Fields[2] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING_NOT_LOCALIZED, "Name" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 2, &NamesReservedMeta::Instance, HOTFIX_SEL_NAMES_RESERVED };
};

struct NamesReservedLocaleLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING_NOT_LOCALIZED, "Name" },
        { false, FT_BYTE, "LocaleMask" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &NamesReservedLocaleMeta::Instance, HOTFIX_SEL_NAMES_RESERVED };
};

struct NumTalentsAtLevelLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "NumTalents" },
        { true, FT_INT, "NumTalentsDeathKnight" },
        { true, FT_INT, "NumTalentsDemonHunter" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &NumTalentsAtLevelMeta::Instance, HOTFIX_SEL_NUM_TALENTS_AT_LEVEL };
};

struct OverrideSpellDataLoadInfo
{
    static constexpr DB2FieldMeta Fields[13] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "Spells1" },
        { true, FT_INT, "Spells2" },
        { true, FT_INT, "Spells3" },
        { true, FT_INT, "Spells4" },
        { true, FT_INT, "Spells5" },
        { true, FT_INT, "Spells6" },
        { true, FT_INT, "Spells7" },
        { true, FT_INT, "Spells8" },
        { true, FT_INT, "Spells9" },
        { true, FT_INT, "Spells10" },
        { true, FT_INT, "PlayerActionBarFileDataID" },
        { false, FT_BYTE, "Flags" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 13, &OverrideSpellDataMeta::Instance, HOTFIX_SEL_OVERRIDE_SPELL_DATA };
};

struct ParagonReputationLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "FactionID" },
        { true, FT_INT, "LevelThreshold" },
        { true, FT_INT, "QuestID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &ParagonReputationMeta::Instance, HOTFIX_SEL_PARAGON_REPUTATION };
};

struct PathLoadInfo
{
    static constexpr DB2FieldMeta Fields[8] =
    {
        { false, FT_INT, "ID" },
        { false, FT_BYTE, "Type" },
        { false, FT_BYTE, "SplineType" },
        { false, FT_BYTE, "Red" },
        { false, FT_BYTE, "Green" },
        { false, FT_BYTE, "Blue" },
        { false, FT_BYTE, "Alpha" },
        { false, FT_BYTE, "Flags" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 8, &PathMeta::Instance, HOTFIX_SEL_PATH };
};

struct PathNodeLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "PathID" },
        { true, FT_SHORT, "Sequence" },
        { true, FT_INT, "LocationID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &PathNodeMeta::Instance, HOTFIX_SEL_PATH_NODE };
};

struct PathPropertyLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "PathID" },
        { false, FT_BYTE, "PropertyIndex" },
        { true, FT_INT, "Value" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &PathPropertyMeta::Instance, HOTFIX_SEL_PATH_PROPERTY };
};

struct PhaseLoadInfo
{
    static constexpr DB2FieldMeta Fields[2] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "Flags" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 2, &PhaseMeta::Instance, HOTFIX_SEL_PHASE };
};

struct PhaseXPhaseGroupLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "PhaseID" },
        { false, FT_INT, "PhaseGroupID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &PhaseXPhaseGroupMeta::Instance, HOTFIX_SEL_PHASE_X_PHASE_GROUP };
};

struct PlayerConditionLoadInfo
{
    static constexpr DB2FieldMeta Fields[160] =
    {
        { false, FT_INT, "ID" },
        { true, FT_LONG, "RaceMask" },
        { false, FT_STRING, "FailureDescription" },
        { true, FT_INT, "ClassMask" },
        { false, FT_INT, "SkillLogic" },
        { true, FT_INT, "LanguageID" },
        { false, FT_BYTE, "MinLanguage" },
        { true, FT_INT, "MaxLanguage" },
        { false, FT_SHORT, "MaxFactionID" },
        { false, FT_BYTE, "MaxReputation" },
        { false, FT_INT, "ReputationLogic" },
        { true, FT_BYTE, "CurrentPvpFaction" },
        { false, FT_BYTE, "PvpMedal" },
        { false, FT_INT, "PrevQuestLogic" },
        { false, FT_INT, "CurrQuestLogic" },
        { false, FT_INT, "CurrentCompletedQuestLogic" },
        { false, FT_INT, "SpellLogic" },
        { false, FT_INT, "ItemLogic" },
        { false, FT_BYTE, "ItemFlags" },
        { false, FT_INT, "AuraSpellLogic" },
        { false, FT_SHORT, "WorldStateExpressionID" },
        { true, FT_INT, "WeatherID" },
        { false, FT_BYTE, "PartyStatus" },
        { false, FT_BYTE, "LifetimeMaxPVPRank" },
        { false, FT_INT, "AchievementLogic" },
        { true, FT_BYTE, "Gender" },
        { true, FT_BYTE, "NativeGender" },
        { false, FT_INT, "AreaLogic" },
        { false, FT_INT, "LfgLogic" },
        { false, FT_INT, "CurrencyLogic" },
        { true, FT_INT, "QuestKillID" },
        { false, FT_INT, "QuestKillLogic" },
        { true, FT_BYTE, "MinExpansionLevel" },
        { true, FT_BYTE, "MaxExpansionLevel" },
        { true, FT_INT, "MinAvgItemLevel" },
        { true, FT_INT, "MaxAvgItemLevel" },
        { false, FT_SHORT, "MinAvgEquippedItemLevel" },
        { false, FT_SHORT, "MaxAvgEquippedItemLevel" },
        { true, FT_INT, "PhaseUseFlags" },
        { false, FT_SHORT, "PhaseID" },
        { false, FT_INT, "PhaseGroupID" },
        { true, FT_INT, "Flags" },
        { true, FT_BYTE, "ChrSpecializationIndex" },
        { true, FT_BYTE, "ChrSpecializationRole" },
        { false, FT_INT, "ModifierTreeID" },
        { true, FT_BYTE, "PowerType" },
        { false, FT_BYTE, "PowerTypeComp" },
        { false, FT_BYTE, "PowerTypeValue" },
        { true, FT_INT, "WeaponSubclassMask" },
        { false, FT_BYTE, "MaxGuildLevel" },
        { false, FT_BYTE, "MinGuildLevel" },
        { true, FT_BYTE, "MaxExpansionTier" },
        { true, FT_BYTE, "MinExpansionTier" },
        { false, FT_BYTE, "MinPVPRank" },
        { false, FT_BYTE, "MaxPVPRank" },
        { true, FT_INT, "ContentTuningID" },
        { true, FT_INT, "CovenantID" },
        { false, FT_INT, "TraitNodeEntryLogic" },
        { false, FT_SHORT, "SkillID1" },
        { false, FT_SHORT, "SkillID2" },
        { false, FT_SHORT, "SkillID3" },
        { false, FT_SHORT, "SkillID4" },
        { false, FT_SHORT, "MinSkill1" },
        { false, FT_SHORT, "MinSkill2" },
        { false, FT_SHORT, "MinSkill3" },
        { false, FT_SHORT, "MinSkill4" },
        { false, FT_SHORT, "MaxSkill1" },
        { false, FT_SHORT, "MaxSkill2" },
        { false, FT_SHORT, "MaxSkill3" },
        { false, FT_SHORT, "MaxSkill4" },
        { false, FT_INT, "MinFactionID1" },
        { false, FT_INT, "MinFactionID2" },
        { false, FT_INT, "MinFactionID3" },
        { false, FT_BYTE, "MinReputation1" },
        { false, FT_BYTE, "MinReputation2" },
        { false, FT_BYTE, "MinReputation3" },
        { true, FT_INT, "PrevQuestID1" },
        { true, FT_INT, "PrevQuestID2" },
        { true, FT_INT, "PrevQuestID3" },
        { true, FT_INT, "PrevQuestID4" },
        { true, FT_INT, "CurrQuestID1" },
        { true, FT_INT, "CurrQuestID2" },
        { true, FT_INT, "CurrQuestID3" },
        { true, FT_INT, "CurrQuestID4" },
        { true, FT_INT, "CurrentCompletedQuestID1" },
        { true, FT_INT, "CurrentCompletedQuestID2" },
        { true, FT_INT, "CurrentCompletedQuestID3" },
        { true, FT_INT, "CurrentCompletedQuestID4" },
        { true, FT_INT, "SpellID1" },
        { true, FT_INT, "SpellID2" },
        { true, FT_INT, "SpellID3" },
        { true, FT_INT, "SpellID4" },
        { true, FT_INT, "ItemID1" },
        { true, FT_INT, "ItemID2" },
        { true, FT_INT, "ItemID3" },
        { true, FT_INT, "ItemID4" },
        { false, FT_INT, "ItemCount1" },
        { false, FT_INT, "ItemCount2" },
        { false, FT_INT, "ItemCount3" },
        { false, FT_INT, "ItemCount4" },
        { false, FT_SHORT, "Explored1" },
        { false, FT_SHORT, "Explored2" },
        { false, FT_INT, "Time1" },
        { false, FT_INT, "Time2" },
        { true, FT_INT, "AuraSpellID1" },
        { true, FT_INT, "AuraSpellID2" },
        { true, FT_INT, "AuraSpellID3" },
        { true, FT_INT, "AuraSpellID4" },
        { false, FT_BYTE, "AuraStacks1" },
        { false, FT_BYTE, "AuraStacks2" },
        { false, FT_BYTE, "AuraStacks3" },
        { false, FT_BYTE, "AuraStacks4" },
        { false, FT_SHORT, "Achievement1" },
        { false, FT_SHORT, "Achievement2" },
        { false, FT_SHORT, "Achievement3" },
        { false, FT_SHORT, "Achievement4" },
        { false, FT_SHORT, "AreaID1" },
        { false, FT_SHORT, "AreaID2" },
        { false, FT_SHORT, "AreaID3" },
        { false, FT_SHORT, "AreaID4" },
        { false, FT_BYTE, "LfgStatus1" },
        { false, FT_BYTE, "LfgStatus2" },
        { false, FT_BYTE, "LfgStatus3" },
        { false, FT_BYTE, "LfgStatus4" },
        { false, FT_BYTE, "LfgCompare1" },
        { false, FT_BYTE, "LfgCompare2" },
        { false, FT_BYTE, "LfgCompare3" },
        { false, FT_BYTE, "LfgCompare4" },
        { false, FT_INT, "LfgValue1" },
        { false, FT_INT, "LfgValue2" },
        { false, FT_INT, "LfgValue3" },
        { false, FT_INT, "LfgValue4" },
        { false, FT_INT, "CurrencyID1" },
        { false, FT_INT, "CurrencyID2" },
        { false, FT_INT, "CurrencyID3" },
        { false, FT_INT, "CurrencyID4" },
        { false, FT_INT, "CurrencyCount1" },
        { false, FT_INT, "CurrencyCount2" },
        { false, FT_INT, "CurrencyCount3" },
        { false, FT_INT, "CurrencyCount4" },
        { false, FT_INT, "QuestKillMonster1" },
        { false, FT_INT, "QuestKillMonster2" },
        { false, FT_INT, "QuestKillMonster3" },
        { false, FT_INT, "QuestKillMonster4" },
        { false, FT_INT, "QuestKillMonster5" },
        { false, FT_INT, "QuestKillMonster6" },
        { true, FT_INT, "MovementFlags1" },
        { true, FT_INT, "MovementFlags2" },
        { true, FT_INT, "TraitNodeEntryID1" },
        { true, FT_INT, "TraitNodeEntryID2" },
        { true, FT_INT, "TraitNodeEntryID3" },
        { true, FT_INT, "TraitNodeEntryID4" },
        { false, FT_SHORT, "TraitNodeEntryMinRank1" },
        { false, FT_SHORT, "TraitNodeEntryMinRank2" },
        { false, FT_SHORT, "TraitNodeEntryMinRank3" },
        { false, FT_SHORT, "TraitNodeEntryMinRank4" },
        { false, FT_SHORT, "TraitNodeEntryMaxRank1" },
        { false, FT_SHORT, "TraitNodeEntryMaxRank2" },
        { false, FT_SHORT, "TraitNodeEntryMaxRank3" },
        { false, FT_SHORT, "TraitNodeEntryMaxRank4" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 160, &PlayerConditionMeta::Instance, HOTFIX_SEL_PLAYER_CONDITION };
};

struct PowerDisplayLoadInfo
{
    static constexpr DB2FieldMeta Fields[6] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING_NOT_LOCALIZED, "GlobalStringBaseTag" },
        { false, FT_BYTE, "ActualType" },
        { false, FT_BYTE, "Red" },
        { false, FT_BYTE, "Green" },
        { false, FT_BYTE, "Blue" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 6, &PowerDisplayMeta::Instance, HOTFIX_SEL_POWER_DISPLAY };
};

struct PowerTypeLoadInfo
{
    static constexpr DB2FieldMeta Fields[13] =
    {
        { false, FT_STRING_NOT_LOCALIZED, "NameGlobalStringTag" },
        { false, FT_STRING_NOT_LOCALIZED, "CostGlobalStringTag" },
        { false, FT_INT, "ID" },
        { true, FT_BYTE, "PowerTypeEnum" },
        { true, FT_INT, "MinPower" },
        { true, FT_INT, "MaxBasePower" },
        { true, FT_INT, "CenterPower" },
        { true, FT_INT, "DefaultPower" },
        { true, FT_INT, "DisplayModifier" },
        { true, FT_INT, "RegenInterruptTimeMS" },
        { false, FT_FLOAT, "RegenPeace" },
        { false, FT_FLOAT, "RegenCombat" },
        { true, FT_SHORT, "Flags" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 13, &PowerTypeMeta::Instance, HOTFIX_SEL_POWER_TYPE };
};

struct PrestigeLevelInfoLoadInfo
{
    static constexpr DB2FieldMeta Fields[6] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Name" },
        { true, FT_INT, "PrestigeLevel" },
        { true, FT_INT, "BadgeTextureFileDataID" },
        { false, FT_BYTE, "Flags" },
        { true, FT_INT, "AwardedAchievementID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 6, &PrestigeLevelInfoMeta::Instance, HOTFIX_SEL_PRESTIGE_LEVEL_INFO };
};

struct PvpDifficultyLoadInfo
{
    static constexpr DB2FieldMeta Fields[5] =
    {
        { false, FT_INT, "ID" },
        { false, FT_BYTE, "RangeIndex" },
        { false, FT_BYTE, "MinLevel" },
        { false, FT_BYTE, "MaxLevel" },
        { false, FT_INT, "MapID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 5, &PVPDifficultyMeta::Instance, HOTFIX_SEL_PVP_DIFFICULTY };
};

struct PvpItemLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "ItemID" },
        { false, FT_BYTE, "ItemLevelDelta" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &PVPItemMeta::Instance, HOTFIX_SEL_PVP_ITEM };
};

struct PvpStatLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_STRING, "Description" },
        { false, FT_INT, "ID" },
        { false, FT_INT, "MapID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &PVPStatMeta::Instance, HOTFIX_SEL_PVP_STAT };
};

struct PvpSeasonLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "MilestoneSeason" },
        { true, FT_INT, "AllianceAchievementID" },
        { true, FT_INT, "HordeAchievementID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &PvpSeasonMeta::Instance, HOTFIX_SEL_PVP_SEASON };
};

struct PvpTalentLoadInfo
{
    static constexpr DB2FieldMeta Fields[10] =
    {
        { false, FT_STRING, "Description" },
        { false, FT_INT, "ID" },
        { false, FT_INT, "SpecID" },
        { true, FT_INT, "SpellID" },
        { true, FT_INT, "OverridesSpellID" },
        { true, FT_INT, "Flags" },
        { true, FT_INT, "ActionBarSpellID" },
        { true, FT_INT, "PvpTalentCategoryID" },
        { true, FT_INT, "LevelRequired" },
        { true, FT_INT, "PlayerConditionID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 10, &PvpTalentMeta::Instance, HOTFIX_SEL_PVP_TALENT };
};

struct PvpTalentCategoryLoadInfo
{
    static constexpr DB2FieldMeta Fields[2] =
    {
        { false, FT_INT, "ID" },
        { false, FT_BYTE, "TalentSlotMask" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 2, &PvpTalentCategoryMeta::Instance, HOTFIX_SEL_PVP_TALENT_CATEGORY };
};

struct PvpTalentSlotUnlockLoadInfo
{
    static constexpr DB2FieldMeta Fields[5] =
    {
        { false, FT_INT, "ID" },
        { true, FT_BYTE, "Slot" },
        { true, FT_INT, "LevelRequired" },
        { true, FT_INT, "DeathKnightLevelRequired" },
        { true, FT_INT, "DemonHunterLevelRequired" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 5, &PvpTalentSlotUnlockMeta::Instance, HOTFIX_SEL_PVP_TALENT_SLOT_UNLOCK };
};

struct PvpTierLoadInfo
{
    static constexpr DB2FieldMeta Fields[9] =
    {
        { false, FT_STRING, "Name" },
        { false, FT_INT, "ID" },
        { true, FT_SHORT, "MinRating" },
        { true, FT_SHORT, "MaxRating" },
        { true, FT_INT, "PrevTier" },
        { true, FT_INT, "NextTier" },
        { false, FT_BYTE, "BracketID" },
        { true, FT_BYTE, "Rank" },
        { true, FT_INT, "RankIconFileDataID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 9, &PvpTierMeta::Instance, HOTFIX_SEL_PVP_TIER };
};

struct QuestFactionRewardLoadInfo
{
    static constexpr DB2FieldMeta Fields[11] =
    {
        { false, FT_INT, "ID" },
        { true, FT_SHORT, "Difficulty1" },
        { true, FT_SHORT, "Difficulty2" },
        { true, FT_SHORT, "Difficulty3" },
        { true, FT_SHORT, "Difficulty4" },
        { true, FT_SHORT, "Difficulty5" },
        { true, FT_SHORT, "Difficulty6" },
        { true, FT_SHORT, "Difficulty7" },
        { true, FT_SHORT, "Difficulty8" },
        { true, FT_SHORT, "Difficulty9" },
        { true, FT_SHORT, "Difficulty10" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 11, &QuestFactionRewardMeta::Instance, HOTFIX_SEL_QUEST_FACTION_REWARD };
};

struct QuestInfoLoadInfo
{
    static constexpr DB2FieldMeta Fields[5] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "InfoName" },
        { true, FT_BYTE, "Type" },
        { true, FT_INT, "Modifiers" },
        { false, FT_SHORT, "Profession" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 5, &QuestInfoMeta::Instance, HOTFIX_SEL_QUEST_INFO };
};

struct QuestLineXQuestLoadInfo
{
    static constexpr DB2FieldMeta Fields[5] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "QuestLineID" },
        { false, FT_INT, "QuestID" },
        { false, FT_INT, "OrderIndex" },
        { true, FT_INT, "Flags" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 5, &QuestLineXQuestMeta::Instance, HOTFIX_SEL_QUEST_LINE_X_QUEST };
};

struct QuestMoneyRewardLoadInfo
{
    static constexpr DB2FieldMeta Fields[11] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "Difficulty1" },
        { false, FT_INT, "Difficulty2" },
        { false, FT_INT, "Difficulty3" },
        { false, FT_INT, "Difficulty4" },
        { false, FT_INT, "Difficulty5" },
        { false, FT_INT, "Difficulty6" },
        { false, FT_INT, "Difficulty7" },
        { false, FT_INT, "Difficulty8" },
        { false, FT_INT, "Difficulty9" },
        { false, FT_INT, "Difficulty10" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 11, &QuestMoneyRewardMeta::Instance, HOTFIX_SEL_QUEST_MONEY_REWARD };
};

struct QuestPackageItemLoadInfo
{
    static constexpr DB2FieldMeta Fields[5] =
    {
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "PackageID" },
        { true, FT_INT, "ItemID" },
        { false, FT_INT, "ItemQuantity" },
        { false, FT_BYTE, "DisplayType" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 5, &QuestPackageItemMeta::Instance, HOTFIX_SEL_QUEST_PACKAGE_ITEM };
};

struct QuestSortLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "SortName" },
        { true, FT_BYTE, "UiOrderIndex" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &QuestSortMeta::Instance, HOTFIX_SEL_QUEST_SORT };
};

struct QuestV2LoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "UniqueBitFlag" },
        { true, FT_INT, "UiQuestDetailsTheme" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &QuestV2Meta::Instance, HOTFIX_SEL_QUEST_V2 };
};

struct QuestXpLoadInfo
{
    static constexpr DB2FieldMeta Fields[11] =
    {
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "Difficulty1" },
        { false, FT_SHORT, "Difficulty2" },
        { false, FT_SHORT, "Difficulty3" },
        { false, FT_SHORT, "Difficulty4" },
        { false, FT_SHORT, "Difficulty5" },
        { false, FT_SHORT, "Difficulty6" },
        { false, FT_SHORT, "Difficulty7" },
        { false, FT_SHORT, "Difficulty8" },
        { false, FT_SHORT, "Difficulty9" },
        { false, FT_SHORT, "Difficulty10" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 11, &QuestXPMeta::Instance, HOTFIX_SEL_QUEST_XP };
};

struct RandPropPointsLoadInfo
{
    static constexpr DB2FieldMeta Fields[35] =
    {
        { false, FT_INT, "ID" },
        { false, FT_FLOAT, "DamageReplaceStatF" },
        { false, FT_FLOAT, "DamageSecondaryF" },
        { true, FT_INT, "DamageReplaceStat" },
        { true, FT_INT, "DamageSecondary" },
        { false, FT_FLOAT, "EpicF1" },
        { false, FT_FLOAT, "EpicF2" },
        { false, FT_FLOAT, "EpicF3" },
        { false, FT_FLOAT, "EpicF4" },
        { false, FT_FLOAT, "EpicF5" },
        { false, FT_FLOAT, "SuperiorF1" },
        { false, FT_FLOAT, "SuperiorF2" },
        { false, FT_FLOAT, "SuperiorF3" },
        { false, FT_FLOAT, "SuperiorF4" },
        { false, FT_FLOAT, "SuperiorF5" },
        { false, FT_FLOAT, "GoodF1" },
        { false, FT_FLOAT, "GoodF2" },
        { false, FT_FLOAT, "GoodF3" },
        { false, FT_FLOAT, "GoodF4" },
        { false, FT_FLOAT, "GoodF5" },
        { false, FT_INT, "Epic1" },
        { false, FT_INT, "Epic2" },
        { false, FT_INT, "Epic3" },
        { false, FT_INT, "Epic4" },
        { false, FT_INT, "Epic5" },
        { false, FT_INT, "Superior1" },
        { false, FT_INT, "Superior2" },
        { false, FT_INT, "Superior3" },
        { false, FT_INT, "Superior4" },
        { false, FT_INT, "Superior5" },
        { false, FT_INT, "Good1" },
        { false, FT_INT, "Good2" },
        { false, FT_INT, "Good3" },
        { false, FT_INT, "Good4" },
        { false, FT_INT, "Good5" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 35, &RandPropPointsMeta::Instance, HOTFIX_SEL_RAND_PROP_POINTS };
};

struct RewardPackLoadInfo
{
    static constexpr DB2FieldMeta Fields[7] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "CharTitleID" },
        { false, FT_INT, "Money" },
        { true, FT_BYTE, "ArtifactXPDifficulty" },
        { false, FT_FLOAT, "ArtifactXPMultiplier" },
        { false, FT_BYTE, "ArtifactXPCategoryID" },
        { false, FT_INT, "TreasurePickerID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 7, &RewardPackMeta::Instance, HOTFIX_SEL_REWARD_PACK };
};

struct RewardPackXCurrencyTypeLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "CurrencyTypeID" },
        { true, FT_INT, "Quantity" },
        { false, FT_INT, "RewardPackID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &RewardPackXCurrencyTypeMeta::Instance, HOTFIX_SEL_REWARD_PACK_X_CURRENCY_TYPE };
};

struct RewardPackXItemLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "ItemID" },
        { true, FT_INT, "ItemQuantity" },
        { false, FT_INT, "RewardPackID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &RewardPackXItemMeta::Instance, HOTFIX_SEL_REWARD_PACK_X_ITEM };
};

struct ScenarioLoadInfo
{
    static constexpr DB2FieldMeta Fields[6] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Name" },
        { false, FT_SHORT, "AreaTableID" },
        { false, FT_BYTE, "Type" },
        { false, FT_BYTE, "Flags" },
        { false, FT_INT, "UiTextureKitID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 6, &ScenarioMeta::Instance, HOTFIX_SEL_SCENARIO };
};

struct ScenarioStepLoadInfo
{
    static constexpr DB2FieldMeta Fields[12] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Description" },
        { false, FT_STRING, "Title" },
        { false, FT_SHORT, "ScenarioID" },
        { false, FT_INT, "Criteriatreeid" },
        { true, FT_INT, "RewardQuestID" },
        { true, FT_INT, "RelatedStep" },
        { false, FT_SHORT, "Supersedes" },
        { false, FT_BYTE, "OrderIndex" },
        { false, FT_BYTE, "Flags" },
        { false, FT_INT, "VisibilityPlayerConditionID" },
        { false, FT_SHORT, "WidgetSetID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 12, &ScenarioStepMeta::Instance, HOTFIX_SEL_SCENARIO_STEP };
};

struct SceneScriptLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "FirstSceneScriptID" },
        { false, FT_SHORT, "NextSceneScriptID" },
        { true, FT_INT, "Unknown915" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &SceneScriptMeta::Instance, HOTFIX_SEL_SCENE_SCRIPT };
};

struct SceneScriptGlobalTextLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING_NOT_LOCALIZED, "Name" },
        { false, FT_STRING_NOT_LOCALIZED, "Script" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &SceneScriptGlobalTextMeta::Instance, HOTFIX_SEL_SCENE_SCRIPT_GLOBAL_TEXT };
};

struct SceneScriptPackageLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING_NOT_LOCALIZED, "Name" },
        { true, FT_INT, "Unknown915" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &SceneScriptPackageMeta::Instance, HOTFIX_SEL_SCENE_SCRIPT_PACKAGE };
};

struct SceneScriptTextLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING_NOT_LOCALIZED, "Name" },
        { false, FT_STRING_NOT_LOCALIZED, "Script" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &SceneScriptTextMeta::Instance, HOTFIX_SEL_SCENE_SCRIPT_TEXT };
};

struct ServerMessagesLoadInfo
{
    static constexpr DB2FieldMeta Fields[2] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Text" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 2, &ServerMessagesMeta::Instance, HOTFIX_SEL_SERVER_MESSAGES };
};

struct SkillLineLoadInfo
{
    static constexpr DB2FieldMeta Fields[15] =
    {
        { false, FT_STRING, "DisplayName" },
        { false, FT_STRING, "AlternateVerb" },
        { false, FT_STRING, "Description" },
        { false, FT_STRING, "HordeDisplayName" },
        { false, FT_STRING_NOT_LOCALIZED, "OverrideSourceInfoDisplayName" },
        { false, FT_INT, "ID" },
        { true, FT_BYTE, "CategoryID" },
        { true, FT_INT, "SpellIconFileID" },
        { true, FT_BYTE, "CanLink" },
        { false, FT_INT, "ParentSkillLineID" },
        { true, FT_INT, "ParentTierIndex" },
        { false, FT_SHORT, "Flags" },
        { true, FT_INT, "SpellBookSpellID" },
        { true, FT_INT, "ExpansionNameSharedStringID" },
        { true, FT_INT, "HordeExpansionNameSharedStringID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 15, &SkillLineMeta::Instance, HOTFIX_SEL_SKILL_LINE };
};

struct SkillLineAbilityLoadInfo
{
    static constexpr DB2FieldMeta Fields[17] =
    {
        { true, FT_LONG, "RaceMask" },
        { false, FT_STRING, "AbilityVerb" },
        { false, FT_STRING, "AbilityAllVerb" },
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "SkillLine" },
        { true, FT_INT, "Spell" },
        { true, FT_SHORT, "MinSkillLineRank" },
        { true, FT_INT, "ClassMask" },
        { true, FT_INT, "SupercedesSpell" },
        { true, FT_BYTE, "AcquireMethod" },
        { true, FT_SHORT, "TrivialSkillLineRankHigh" },
        { true, FT_SHORT, "TrivialSkillLineRankLow" },
        { true, FT_INT, "Flags" },
        { true, FT_BYTE, "NumSkillUps" },
        { true, FT_SHORT, "UniqueBit" },
        { true, FT_SHORT, "TradeSkillCategoryID" },
        { true, FT_SHORT, "SkillupSkillLineID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 17, &SkillLineAbilityMeta::Instance, HOTFIX_SEL_SKILL_LINE_ABILITY };
};

struct SkillLineXTraitTreeLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "SkillLineID" },
        { true, FT_INT, "TraitTreeID" },
        { true, FT_INT, "OrderIndex" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &SkillLineXTraitTreeMeta::Instance, HOTFIX_SEL_SKILL_LINE_X_TRAIT_TREE };
};

struct SkillRaceClassInfoLoadInfo
{
    static constexpr DB2FieldMeta Fields[8] =
    {
        { false, FT_INT, "ID" },
        { true, FT_LONG, "RaceMask" },
        { false, FT_SHORT, "SkillID" },
        { true, FT_INT, "ClassMask" },
        { false, FT_SHORT, "Flags" },
        { true, FT_BYTE, "Availability" },
        { true, FT_BYTE, "MinLevel" },
        { true, FT_SHORT, "SkillTierID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 8, &SkillRaceClassInfoMeta::Instance, HOTFIX_SEL_SKILL_RACE_CLASS_INFO };
};

struct SoulbindConduitRankLoadInfo
{
    static constexpr DB2FieldMeta Fields[5] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "RankIndex" },
        { true, FT_INT, "SpellID" },
        { false, FT_FLOAT, "AuraPointsOverride" },
        { false, FT_INT, "SoulbindConduitID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 5, &SoulbindConduitRankMeta::Instance, HOTFIX_SEL_SOULBIND_CONDUIT_RANK };
};

struct SoundKitLoadInfo
{
    static constexpr DB2FieldMeta Fields[17] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "SoundType" },
        { false, FT_FLOAT, "VolumeFloat" },
        { true, FT_INT, "Flags" },
        { false, FT_FLOAT, "MinDistance" },
        { false, FT_FLOAT, "DistanceCutoff" },
        { false, FT_BYTE, "EAXDef" },
        { false, FT_INT, "SoundKitAdvancedID" },
        { false, FT_FLOAT, "VolumeVariationPlus" },
        { false, FT_FLOAT, "VolumeVariationMinus" },
        { false, FT_FLOAT, "PitchVariationPlus" },
        { false, FT_FLOAT, "PitchVariationMinus" },
        { true, FT_BYTE, "DialogType" },
        { false, FT_FLOAT, "PitchAdjust" },
        { false, FT_SHORT, "BusOverwriteID" },
        { false, FT_BYTE, "MaxInstances" },
        { false, FT_INT, "SoundMixGroupID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 17, &SoundKitMeta::Instance, HOTFIX_SEL_SOUND_KIT };
};

struct SpecializationSpellsLoadInfo
{
    static constexpr DB2FieldMeta Fields[6] =
    {
        { false, FT_STRING, "Description" },
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "SpecID" },
        { true, FT_INT, "SpellID" },
        { true, FT_INT, "OverridesSpellID" },
        { false, FT_BYTE, "DisplayOrder" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 6, &SpecializationSpellsMeta::Instance, HOTFIX_SEL_SPECIALIZATION_SPELLS };
};

struct SpecSetMemberLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "ChrSpecializationID" },
        { false, FT_INT, "SpecSetID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &SpecSetMemberMeta::Instance, HOTFIX_SEL_SPEC_SET_MEMBER };
};

struct SpellAuraOptionsLoadInfo
{
    static constexpr DB2FieldMeta Fields[10] =
    {
        { false, FT_INT, "ID" },
        { false, FT_BYTE, "DifficultyID" },
        { false, FT_SHORT, "CumulativeAura" },
        { true, FT_INT, "ProcCategoryRecovery" },
        { false, FT_BYTE, "ProcChance" },
        { true, FT_INT, "ProcCharges" },
        { false, FT_SHORT, "SpellProcsPerMinuteID" },
        { true, FT_INT, "ProcTypeMask1" },
        { true, FT_INT, "ProcTypeMask2" },
        { false, FT_INT, "SpellID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 10, &SpellAuraOptionsMeta::Instance, HOTFIX_SEL_SPELL_AURA_OPTIONS };
};

struct SpellAuraRestrictionsLoadInfo
{
    static constexpr DB2FieldMeta Fields[15] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "DifficultyID" },
        { true, FT_INT, "CasterAuraState" },
        { true, FT_INT, "TargetAuraState" },
        { true, FT_INT, "ExcludeCasterAuraState" },
        { true, FT_INT, "ExcludeTargetAuraState" },
        { true, FT_INT, "CasterAuraSpell" },
        { true, FT_INT, "TargetAuraSpell" },
        { true, FT_INT, "ExcludeCasterAuraSpell" },
        { true, FT_INT, "ExcludeTargetAuraSpell" },
        { true, FT_INT, "CasterAuraType" },
        { true, FT_INT, "TargetAuraType" },
        { true, FT_INT, "ExcludeCasterAuraType" },
        { true, FT_INT, "ExcludeTargetAuraType" },
        { false, FT_INT, "SpellID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 15, &SpellAuraRestrictionsMeta::Instance, HOTFIX_SEL_SPELL_AURA_RESTRICTIONS };
};

struct SpellCastTimesLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "Base" },
        { true, FT_INT, "Minimum" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &SpellCastTimesMeta::Instance, HOTFIX_SEL_SPELL_CAST_TIMES };
};

struct SpellCastingRequirementsLoadInfo
{
    static constexpr DB2FieldMeta Fields[8] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "SpellID" },
        { false, FT_BYTE, "FacingCasterFlags" },
        { false, FT_SHORT, "MinFactionID" },
        { true, FT_INT, "MinReputation" },
        { false, FT_SHORT, "RequiredAreasID" },
        { false, FT_BYTE, "RequiredAuraVision" },
        { false, FT_SHORT, "RequiresSpellFocus" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 8, &SpellCastingRequirementsMeta::Instance, HOTFIX_SEL_SPELL_CASTING_REQUIREMENTS };
};

struct SpellCategoriesLoadInfo
{
    static constexpr DB2FieldMeta Fields[10] =
    {
        { false, FT_INT, "ID" },
        { false, FT_BYTE, "DifficultyID" },
        { true, FT_SHORT, "Category" },
        { true, FT_BYTE, "DefenseType" },
        { true, FT_BYTE, "DispelType" },
        { true, FT_BYTE, "Mechanic" },
        { true, FT_BYTE, "PreventionType" },
        { true, FT_SHORT, "StartRecoveryCategory" },
        { true, FT_SHORT, "ChargeCategory" },
        { false, FT_INT, "SpellID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 10, &SpellCategoriesMeta::Instance, HOTFIX_SEL_SPELL_CATEGORIES };
};

struct SpellCategoryLoadInfo
{
    static constexpr DB2FieldMeta Fields[7] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Name" },
        { true, FT_INT, "Flags" },
        { false, FT_BYTE, "UsesPerWeek" },
        { true, FT_BYTE, "MaxCharges" },
        { true, FT_INT, "ChargeRecoveryTime" },
        { true, FT_INT, "TypeMask" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 7, &SpellCategoryMeta::Instance, HOTFIX_SEL_SPELL_CATEGORY };
};

struct SpellClassOptionsLoadInfo
{
    static constexpr DB2FieldMeta Fields[8] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "SpellID" },
        { false, FT_INT, "ModalNextSpell" },
        { false, FT_BYTE, "SpellClassSet" },
        { true, FT_INT, "SpellClassMask1" },
        { true, FT_INT, "SpellClassMask2" },
        { true, FT_INT, "SpellClassMask3" },
        { true, FT_INT, "SpellClassMask4" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 8, &SpellClassOptionsMeta::Instance, HOTFIX_SEL_SPELL_CLASS_OPTIONS };
};

struct SpellCooldownsLoadInfo
{
    static constexpr DB2FieldMeta Fields[7] =
    {
        { false, FT_INT, "ID" },
        { false, FT_BYTE, "DifficultyID" },
        { true, FT_INT, "CategoryRecoveryTime" },
        { true, FT_INT, "RecoveryTime" },
        { true, FT_INT, "StartRecoveryTime" },
        { true, FT_INT, "AuraSpellID" },
        { false, FT_INT, "SpellID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 7, &SpellCooldownsMeta::Instance, HOTFIX_SEL_SPELL_COOLDOWNS };
};

struct SpellDurationLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "Duration" },
        { true, FT_INT, "MaxDuration" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &SpellDurationMeta::Instance, HOTFIX_SEL_SPELL_DURATION };
};

struct SpellEffectLoadInfo
{
    static constexpr DB2FieldMeta Fields[36] =
    {
        { false, FT_INT, "ID" },
        { true, FT_SHORT, "EffectAura" },
        { true, FT_INT, "DifficultyID" },
        { true, FT_INT, "EffectIndex" },
        { false, FT_INT, "Effect" },
        { false, FT_FLOAT, "EffectAmplitude" },
        { true, FT_INT, "EffectAttributes" },
        { true, FT_INT, "EffectAuraPeriod" },
        { false, FT_FLOAT, "EffectBonusCoefficient" },
        { false, FT_FLOAT, "EffectChainAmplitude" },
        { true, FT_INT, "EffectChainTargets" },
        { true, FT_INT, "EffectItemType" },
        { true, FT_INT, "EffectMechanic" },
        { false, FT_FLOAT, "EffectPointsPerResource" },
        { false, FT_FLOAT, "EffectPosFacing" },
        { false, FT_FLOAT, "EffectRealPointsPerLevel" },
        { true, FT_INT, "EffectTriggerSpell" },
        { false, FT_FLOAT, "BonusCoefficientFromAP" },
        { false, FT_FLOAT, "PvpMultiplier" },
        { false, FT_FLOAT, "Coefficient" },
        { false, FT_FLOAT, "Variance" },
        { false, FT_FLOAT, "ResourceCoefficient" },
        { false, FT_FLOAT, "GroupSizeBasePointsCoefficient" },
        { false, FT_FLOAT, "EffectBasePoints" },
        { true, FT_INT, "ScalingClass" },
        { true, FT_INT, "EffectMiscValue1" },
        { true, FT_INT, "EffectMiscValue2" },
        { false, FT_INT, "EffectRadiusIndex1" },
        { false, FT_INT, "EffectRadiusIndex2" },
        { true, FT_INT, "EffectSpellClassMask1" },
        { true, FT_INT, "EffectSpellClassMask2" },
        { true, FT_INT, "EffectSpellClassMask3" },
        { true, FT_INT, "EffectSpellClassMask4" },
        { true, FT_SHORT, "ImplicitTarget1" },
        { true, FT_SHORT, "ImplicitTarget2" },
        { false, FT_INT, "SpellID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 36, &SpellEffectMeta::Instance, HOTFIX_SEL_SPELL_EFFECT };
};

struct SpellEmpowerLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "SpellID" },
        { true, FT_INT, "Unused1000" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &SpellEmpowerMeta::Instance, HOTFIX_SEL_SPELL_EMPOWER };
};

struct SpellEmpowerStageLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "Stage" },
        { true, FT_INT, "DurationMs" },
        { false, FT_INT, "SpellEmpowerID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &SpellEmpowerStageMeta::Instance, HOTFIX_SEL_SPELL_EMPOWER_STAGE };
};

struct SpellEquippedItemsLoadInfo
{
    static constexpr DB2FieldMeta Fields[5] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "SpellID" },
        { true, FT_BYTE, "EquippedItemClass" },
        { true, FT_INT, "EquippedItemInvTypes" },
        { true, FT_INT, "EquippedItemSubclass" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 5, &SpellEquippedItemsMeta::Instance, HOTFIX_SEL_SPELL_EQUIPPED_ITEMS };
};

struct SpellFocusObjectLoadInfo
{
    static constexpr DB2FieldMeta Fields[2] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Name" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 2, &SpellFocusObjectMeta::Instance, HOTFIX_SEL_SPELL_FOCUS_OBJECT };
};

struct SpellInterruptsLoadInfo
{
    static constexpr DB2FieldMeta Fields[8] =
    {
        { false, FT_INT, "ID" },
        { false, FT_BYTE, "DifficultyID" },
        { true, FT_SHORT, "InterruptFlags" },
        { true, FT_INT, "AuraInterruptFlags1" },
        { true, FT_INT, "AuraInterruptFlags2" },
        { true, FT_INT, "ChannelInterruptFlags1" },
        { true, FT_INT, "ChannelInterruptFlags2" },
        { false, FT_INT, "SpellID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 8, &SpellInterruptsMeta::Instance, HOTFIX_SEL_SPELL_INTERRUPTS };
};

struct SpellItemEnchantmentLoadInfo
{
    static constexpr DB2FieldMeta Fields[32] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Name" },
        { false, FT_STRING, "HordeName" },
        { true, FT_INT, "Duration" },
        { false, FT_INT, "EffectArg1" },
        { false, FT_INT, "EffectArg2" },
        { false, FT_INT, "EffectArg3" },
        { false, FT_FLOAT, "EffectScalingPoints1" },
        { false, FT_FLOAT, "EffectScalingPoints2" },
        { false, FT_FLOAT, "EffectScalingPoints3" },
        { false, FT_INT, "IconFileDataID" },
        { true, FT_INT, "MinItemLevel" },
        { true, FT_INT, "MaxItemLevel" },
        { false, FT_INT, "TransmogUseConditionID" },
        { false, FT_INT, "TransmogCost" },
        { true, FT_SHORT, "EffectPointsMin1" },
        { true, FT_SHORT, "EffectPointsMin2" },
        { true, FT_SHORT, "EffectPointsMin3" },
        { false, FT_SHORT, "ItemVisual" },
        { false, FT_SHORT, "Flags" },
        { false, FT_SHORT, "RequiredSkillID" },
        { false, FT_SHORT, "RequiredSkillRank" },
        { false, FT_SHORT, "ItemLevel" },
        { false, FT_BYTE, "Charges" },
        { false, FT_BYTE, "Effect1" },
        { false, FT_BYTE, "Effect2" },
        { false, FT_BYTE, "Effect3" },
        { true, FT_BYTE, "ScalingClass" },
        { true, FT_BYTE, "ScalingClassRestricted" },
        { false, FT_BYTE, "ConditionID" },
        { false, FT_BYTE, "MinLevel" },
        { false, FT_BYTE, "MaxLevel" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 32, &SpellItemEnchantmentMeta::Instance, HOTFIX_SEL_SPELL_ITEM_ENCHANTMENT };
};

struct SpellItemEnchantmentConditionLoadInfo
{
    static constexpr DB2FieldMeta Fields[31] =
    {
        { false, FT_INT, "ID" },
        { false, FT_BYTE, "LtOperandType1" },
        { false, FT_BYTE, "LtOperandType2" },
        { false, FT_BYTE, "LtOperandType3" },
        { false, FT_BYTE, "LtOperandType4" },
        { false, FT_BYTE, "LtOperandType5" },
        { false, FT_INT, "LtOperand1" },
        { false, FT_INT, "LtOperand2" },
        { false, FT_INT, "LtOperand3" },
        { false, FT_INT, "LtOperand4" },
        { false, FT_INT, "LtOperand5" },
        { false, FT_BYTE, "Operator1" },
        { false, FT_BYTE, "Operator2" },
        { false, FT_BYTE, "Operator3" },
        { false, FT_BYTE, "Operator4" },
        { false, FT_BYTE, "Operator5" },
        { false, FT_BYTE, "RtOperandType1" },
        { false, FT_BYTE, "RtOperandType2" },
        { false, FT_BYTE, "RtOperandType3" },
        { false, FT_BYTE, "RtOperandType4" },
        { false, FT_BYTE, "RtOperandType5" },
        { false, FT_BYTE, "RtOperand1" },
        { false, FT_BYTE, "RtOperand2" },
        { false, FT_BYTE, "RtOperand3" },
        { false, FT_BYTE, "RtOperand4" },
        { false, FT_BYTE, "RtOperand5" },
        { false, FT_BYTE, "Logic1" },
        { false, FT_BYTE, "Logic2" },
        { false, FT_BYTE, "Logic3" },
        { false, FT_BYTE, "Logic4" },
        { false, FT_BYTE, "Logic5" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 31, &SpellItemEnchantmentConditionMeta::Instance, HOTFIX_SEL_SPELL_ITEM_ENCHANTMENT_CONDITION };
};

struct SpellKeyboundOverrideLoadInfo
{
    static constexpr DB2FieldMeta Fields[5] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING_NOT_LOCALIZED, "Function" },
        { true, FT_BYTE, "Type" },
        { true, FT_INT, "Data" },
        { true, FT_INT, "Flags" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 5, &SpellKeyboundOverrideMeta::Instance, HOTFIX_SEL_SPELL_KEYBOUND_OVERRIDE };
};

struct SpellLabelLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "LabelID" },
        { false, FT_INT, "SpellID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &SpellLabelMeta::Instance, HOTFIX_SEL_SPELL_LABEL };
};

struct SpellLearnSpellLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "SpellID" },
        { true, FT_INT, "LearnSpellID" },
        { true, FT_INT, "OverridesSpellID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &SpellLearnSpellMeta::Instance, HOTFIX_SEL_SPELL_LEARN_SPELL };
};

struct SpellLevelsLoadInfo
{
    static constexpr DB2FieldMeta Fields[7] =
    {
        { false, FT_INT, "ID" },
        { false, FT_BYTE, "DifficultyID" },
        { true, FT_SHORT, "MaxLevel" },
        { false, FT_BYTE, "MaxPassiveAuraLevel" },
        { true, FT_INT, "BaseLevel" },
        { true, FT_INT, "SpellLevel" },
        { false, FT_INT, "SpellID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 7, &SpellLevelsMeta::Instance, HOTFIX_SEL_SPELL_LEVELS };
};

struct SpellMiscLoadInfo
{
    static constexpr DB2FieldMeta Fields[31] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "Attributes1" },
        { true, FT_INT, "Attributes2" },
        { true, FT_INT, "Attributes3" },
        { true, FT_INT, "Attributes4" },
        { true, FT_INT, "Attributes5" },
        { true, FT_INT, "Attributes6" },
        { true, FT_INT, "Attributes7" },
        { true, FT_INT, "Attributes8" },
        { true, FT_INT, "Attributes9" },
        { true, FT_INT, "Attributes10" },
        { true, FT_INT, "Attributes11" },
        { true, FT_INT, "Attributes12" },
        { true, FT_INT, "Attributes13" },
        { true, FT_INT, "Attributes14" },
        { true, FT_INT, "Attributes15" },
        { false, FT_BYTE, "DifficultyID" },
        { false, FT_SHORT, "CastingTimeIndex" },
        { false, FT_SHORT, "DurationIndex" },
        { false, FT_SHORT, "RangeIndex" },
        { false, FT_BYTE, "SchoolMask" },
        { false, FT_FLOAT, "Speed" },
        { false, FT_FLOAT, "LaunchDelay" },
        { false, FT_FLOAT, "MinDuration" },
        { true, FT_INT, "SpellIconFileDataID" },
        { true, FT_INT, "ActiveIconFileDataID" },
        { true, FT_INT, "ContentTuningID" },
        { true, FT_INT, "ShowFutureSpellPlayerConditionID" },
        { true, FT_INT, "SpellVisualScript" },
        { true, FT_INT, "ActiveSpellVisualScript" },
        { false, FT_INT, "SpellID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 31, &SpellMiscMeta::Instance, HOTFIX_SEL_SPELL_MISC };
};

struct SpellNameLoadInfo
{
    static constexpr DB2FieldMeta Fields[2] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Name" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 2, &SpellNameMeta::Instance, HOTFIX_SEL_SPELL_NAME };
};

struct SpellPowerLoadInfo
{
    static constexpr DB2FieldMeta Fields[15] =
    {
        { false, FT_INT, "ID" },
        { false, FT_BYTE, "OrderIndex" },
        { true, FT_INT, "ManaCost" },
        { true, FT_INT, "ManaCostPerLevel" },
        { true, FT_INT, "ManaPerSecond" },
        { false, FT_INT, "PowerDisplayID" },
        { true, FT_INT, "AltPowerBarID" },
        { false, FT_FLOAT, "PowerCostPct" },
        { false, FT_FLOAT, "PowerCostMaxPct" },
        { false, FT_FLOAT, "OptionalCostPct" },
        { false, FT_FLOAT, "PowerPctPerSecond" },
        { true, FT_BYTE, "PowerType" },
        { true, FT_INT, "RequiredAuraSpellID" },
        { false, FT_INT, "OptionalCost" },
        { false, FT_INT, "SpellID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 15, &SpellPowerMeta::Instance, HOTFIX_SEL_SPELL_POWER };
};

struct SpellPowerDifficultyLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { false, FT_BYTE, "DifficultyID" },
        { false, FT_BYTE, "OrderIndex" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &SpellPowerDifficultyMeta::Instance, HOTFIX_SEL_SPELL_POWER_DIFFICULTY };
};

struct SpellProcsPerMinuteLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { false, FT_FLOAT, "BaseProcRate" },
        { false, FT_BYTE, "Flags" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &SpellProcsPerMinuteMeta::Instance, HOTFIX_SEL_SPELL_PROCS_PER_MINUTE };
};

struct SpellProcsPerMinuteModLoadInfo
{
    static constexpr DB2FieldMeta Fields[5] =
    {
        { false, FT_INT, "ID" },
        { false, FT_BYTE, "Type" },
        { true, FT_INT, "Param" },
        { false, FT_FLOAT, "Coeff" },
        { false, FT_INT, "SpellProcsPerMinuteID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 5, &SpellProcsPerMinuteModMeta::Instance, HOTFIX_SEL_SPELL_PROCS_PER_MINUTE_MOD };
};

struct SpellRadiusLoadInfo
{
    static constexpr DB2FieldMeta Fields[5] =
    {
        { false, FT_INT, "ID" },
        { false, FT_FLOAT, "Radius" },
        { false, FT_FLOAT, "RadiusPerLevel" },
        { false, FT_FLOAT, "RadiusMin" },
        { false, FT_FLOAT, "RadiusMax" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 5, &SpellRadiusMeta::Instance, HOTFIX_SEL_SPELL_RADIUS };
};

struct SpellRangeLoadInfo
{
    static constexpr DB2FieldMeta Fields[8] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "DisplayName" },
        { false, FT_STRING, "DisplayNameShort" },
        { false, FT_BYTE, "Flags" },
        { false, FT_FLOAT, "RangeMin1" },
        { false, FT_FLOAT, "RangeMin2" },
        { false, FT_FLOAT, "RangeMax1" },
        { false, FT_FLOAT, "RangeMax2" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 8, &SpellRangeMeta::Instance, HOTFIX_SEL_SPELL_RANGE };
};

struct SpellReagentsLoadInfo
{
    static constexpr DB2FieldMeta Fields[34] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "SpellID" },
        { true, FT_INT, "Reagent1" },
        { true, FT_INT, "Reagent2" },
        { true, FT_INT, "Reagent3" },
        { true, FT_INT, "Reagent4" },
        { true, FT_INT, "Reagent5" },
        { true, FT_INT, "Reagent6" },
        { true, FT_INT, "Reagent7" },
        { true, FT_INT, "Reagent8" },
        { true, FT_SHORT, "ReagentCount1" },
        { true, FT_SHORT, "ReagentCount2" },
        { true, FT_SHORT, "ReagentCount3" },
        { true, FT_SHORT, "ReagentCount4" },
        { true, FT_SHORT, "ReagentCount5" },
        { true, FT_SHORT, "ReagentCount6" },
        { true, FT_SHORT, "ReagentCount7" },
        { true, FT_SHORT, "ReagentCount8" },
        { true, FT_SHORT, "ReagentRecraftCount1" },
        { true, FT_SHORT, "ReagentRecraftCount2" },
        { true, FT_SHORT, "ReagentRecraftCount3" },
        { true, FT_SHORT, "ReagentRecraftCount4" },
        { true, FT_SHORT, "ReagentRecraftCount5" },
        { true, FT_SHORT, "ReagentRecraftCount6" },
        { true, FT_SHORT, "ReagentRecraftCount7" },
        { true, FT_SHORT, "ReagentRecraftCount8" },
        { false, FT_BYTE, "ReagentSource1" },
        { false, FT_BYTE, "ReagentSource2" },
        { false, FT_BYTE, "ReagentSource3" },
        { false, FT_BYTE, "ReagentSource4" },
        { false, FT_BYTE, "ReagentSource5" },
        { false, FT_BYTE, "ReagentSource6" },
        { false, FT_BYTE, "ReagentSource7" },
        { false, FT_BYTE, "ReagentSource8" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 34, &SpellReagentsMeta::Instance, HOTFIX_SEL_SPELL_REAGENTS };
};

struct SpellReagentsCurrencyLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "SpellID" },
        { false, FT_SHORT, "CurrencyTypesID" },
        { false, FT_SHORT, "CurrencyCount" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &SpellReagentsCurrencyMeta::Instance, HOTFIX_SEL_SPELL_REAGENTS_CURRENCY };
};

struct SpellScalingLoadInfo
{
    static constexpr DB2FieldMeta Fields[5] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "SpellID" },
        { false, FT_INT, "MinScalingLevel" },
        { false, FT_INT, "MaxScalingLevel" },
        { true, FT_SHORT, "ScalesFromItemLevel" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 5, &SpellScalingMeta::Instance, HOTFIX_SEL_SPELL_SCALING };
};

struct SpellShapeshiftLoadInfo
{
    static constexpr DB2FieldMeta Fields[7] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "SpellID" },
        { true, FT_BYTE, "StanceBarOrder" },
        { true, FT_INT, "ShapeshiftExclude1" },
        { true, FT_INT, "ShapeshiftExclude2" },
        { true, FT_INT, "ShapeshiftMask1" },
        { true, FT_INT, "ShapeshiftMask2" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 7, &SpellShapeshiftMeta::Instance, HOTFIX_SEL_SPELL_SHAPESHIFT };
};

struct SpellShapeshiftFormLoadInfo
{
    static constexpr DB2FieldMeta Fields[18] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Name" },
        { false, FT_INT, "CreatureDisplayID" },
        { true, FT_BYTE, "CreatureType" },
        { true, FT_INT, "Flags" },
        { true, FT_INT, "AttackIconFileID" },
        { true, FT_BYTE, "BonusActionBar" },
        { true, FT_SHORT, "CombatRoundTime" },
        { false, FT_FLOAT, "DamageVariance" },
        { false, FT_SHORT, "MountTypeID" },
        { false, FT_INT, "PresetSpellID1" },
        { false, FT_INT, "PresetSpellID2" },
        { false, FT_INT, "PresetSpellID3" },
        { false, FT_INT, "PresetSpellID4" },
        { false, FT_INT, "PresetSpellID5" },
        { false, FT_INT, "PresetSpellID6" },
        { false, FT_INT, "PresetSpellID7" },
        { false, FT_INT, "PresetSpellID8" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 18, &SpellShapeshiftFormMeta::Instance, HOTFIX_SEL_SPELL_SHAPESHIFT_FORM };
};

struct SpellTargetRestrictionsLoadInfo
{
    static constexpr DB2FieldMeta Fields[9] =
    {
        { false, FT_INT, "ID" },
        { false, FT_BYTE, "DifficultyID" },
        { false, FT_FLOAT, "ConeDegrees" },
        { false, FT_BYTE, "MaxTargets" },
        { false, FT_INT, "MaxTargetLevel" },
        { true, FT_SHORT, "TargetCreatureType" },
        { true, FT_INT, "Targets" },
        { false, FT_FLOAT, "Width" },
        { false, FT_INT, "SpellID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 9, &SpellTargetRestrictionsMeta::Instance, HOTFIX_SEL_SPELL_TARGET_RESTRICTIONS };
};

struct SpellTotemsLoadInfo
{
    static constexpr DB2FieldMeta Fields[6] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "SpellID" },
        { false, FT_SHORT, "RequiredTotemCategoryID1" },
        { false, FT_SHORT, "RequiredTotemCategoryID2" },
        { true, FT_INT, "Totem1" },
        { true, FT_INT, "Totem2" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 6, &SpellTotemsMeta::Instance, HOTFIX_SEL_SPELL_TOTEMS };
};

struct SpellVisualLoadInfo
{
    static constexpr DB2FieldMeta Fields[21] =
    {
        { false, FT_INT, "ID" },
        { false, FT_FLOAT, "MissileCastOffset1" },
        { false, FT_FLOAT, "MissileCastOffset2" },
        { false, FT_FLOAT, "MissileCastOffset3" },
        { false, FT_FLOAT, "MissileImpactOffset1" },
        { false, FT_FLOAT, "MissileImpactOffset2" },
        { false, FT_FLOAT, "MissileImpactOffset3" },
        { false, FT_INT, "AnimEventSoundID" },
        { true, FT_INT, "Flags" },
        { true, FT_BYTE, "MissileAttachment" },
        { true, FT_BYTE, "MissileDestinationAttachment" },
        { false, FT_INT, "MissileCastPositionerID" },
        { false, FT_INT, "MissileImpactPositionerID" },
        { true, FT_INT, "MissileTargetingKit" },
        { false, FT_INT, "HostileSpellVisualID" },
        { false, FT_INT, "CasterSpellVisualID" },
        { false, FT_SHORT, "SpellVisualMissileSetID" },
        { false, FT_SHORT, "DamageNumberDelay" },
        { false, FT_INT, "LowViolenceSpellVisualID" },
        { false, FT_INT, "RaidSpellVisualMissileSetID" },
        { true, FT_INT, "ReducedUnexpectedCameraMovementSpellVisualID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 21, &SpellVisualMeta::Instance, HOTFIX_SEL_SPELL_VISUAL };
};

struct SpellVisualEffectNameLoadInfo
{
    static constexpr DB2FieldMeta Fields[16] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "ModelFileDataID" },
        { false, FT_FLOAT, "BaseMissileSpeed" },
        { false, FT_FLOAT, "Scale" },
        { false, FT_FLOAT, "MinAllowedScale" },
        { false, FT_FLOAT, "MaxAllowedScale" },
        { false, FT_FLOAT, "Alpha" },
        { false, FT_INT, "Flags" },
        { true, FT_INT, "TextureFileDataID" },
        { false, FT_FLOAT, "EffectRadius" },
        { false, FT_INT, "Type" },
        { true, FT_INT, "GenericID" },
        { false, FT_INT, "RibbonQualityID" },
        { true, FT_INT, "DissolveEffectID" },
        { true, FT_INT, "ModelPosition" },
        { true, FT_BYTE, "Unknown901" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 16, &SpellVisualEffectNameMeta::Instance, HOTFIX_SEL_SPELL_VISUAL_EFFECT_NAME };
};

struct SpellVisualMissileLoadInfo
{
    static constexpr DB2FieldMeta Fields[22] =
    {
        { false, FT_FLOAT, "CastOffset1" },
        { false, FT_FLOAT, "CastOffset2" },
        { false, FT_FLOAT, "CastOffset3" },
        { false, FT_FLOAT, "ImpactOffset1" },
        { false, FT_FLOAT, "ImpactOffset2" },
        { false, FT_FLOAT, "ImpactOffset3" },
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "SpellVisualEffectNameID" },
        { false, FT_INT, "SoundEntriesID" },
        { true, FT_BYTE, "Attachment" },
        { true, FT_BYTE, "DestinationAttachment" },
        { false, FT_SHORT, "CastPositionerID" },
        { false, FT_SHORT, "ImpactPositionerID" },
        { true, FT_INT, "FollowGroundHeight" },
        { false, FT_INT, "FollowGroundDropSpeed" },
        { false, FT_SHORT, "FollowGroundApproach" },
        { false, FT_INT, "Flags" },
        { false, FT_SHORT, "SpellMissileMotionID" },
        { false, FT_INT, "AnimKitID" },
        { true, FT_BYTE, "ClutterLevel" },
        { true, FT_INT, "DecayTimeAfterImpact" },
        { false, FT_INT, "SpellVisualMissileSetID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 22, &SpellVisualMissileMeta::Instance, HOTFIX_SEL_SPELL_VISUAL_MISSILE };
};

struct SpellVisualKitLoadInfo
{
    static constexpr DB2FieldMeta Fields[7] =
    {
        { false, FT_INT, "ID" },
        { true, FT_BYTE, "FallbackPriority" },
        { true, FT_INT, "FallbackSpellVisualKitId" },
        { false, FT_SHORT, "DelayMin" },
        { false, FT_SHORT, "DelayMax" },
        { true, FT_INT, "Flags1" },
        { true, FT_INT, "Flags2" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 7, &SpellVisualKitMeta::Instance, HOTFIX_SEL_SPELL_VISUAL_KIT };
};

struct SpellXSpellVisualLoadInfo
{
    static constexpr DB2FieldMeta Fields[13] =
    {
        { false, FT_INT, "ID" },
        { false, FT_BYTE, "DifficultyID" },
        { false, FT_INT, "SpellVisualID" },
        { false, FT_FLOAT, "Probability" },
        { true, FT_INT, "Flags" },
        { true, FT_INT, "Priority" },
        { true, FT_INT, "SpellIconFileID" },
        { true, FT_INT, "ActiveIconFileID" },
        { false, FT_SHORT, "ViewerUnitConditionID" },
        { false, FT_INT, "ViewerPlayerConditionID" },
        { false, FT_SHORT, "CasterUnitConditionID" },
        { false, FT_INT, "CasterPlayerConditionID" },
        { false, FT_INT, "SpellID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 13, &SpellXSpellVisualMeta::Instance, HOTFIX_SEL_SPELL_X_SPELL_VISUAL };
};

struct SummonPropertiesLoadInfo
{
    static constexpr DB2FieldMeta Fields[7] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "Control" },
        { true, FT_INT, "Faction" },
        { true, FT_INT, "Title" },
        { true, FT_INT, "Slot" },
        { true, FT_INT, "Flags1" },
        { true, FT_INT, "Flags2" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 7, &SummonPropertiesMeta::Instance, HOTFIX_SEL_SUMMON_PROPERTIES };
};

struct TactKeyLoadInfo
{
    static constexpr DB2FieldMeta Fields[17] =
    {
        { false, FT_INT, "ID" },
        { false, FT_BYTE, "Key1" },
        { false, FT_BYTE, "Key2" },
        { false, FT_BYTE, "Key3" },
        { false, FT_BYTE, "Key4" },
        { false, FT_BYTE, "Key5" },
        { false, FT_BYTE, "Key6" },
        { false, FT_BYTE, "Key7" },
        { false, FT_BYTE, "Key8" },
        { false, FT_BYTE, "Key9" },
        { false, FT_BYTE, "Key10" },
        { false, FT_BYTE, "Key11" },
        { false, FT_BYTE, "Key12" },
        { false, FT_BYTE, "Key13" },
        { false, FT_BYTE, "Key14" },
        { false, FT_BYTE, "Key15" },
        { false, FT_BYTE, "Key16" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 17, &TactKeyMeta::Instance, HOTFIX_SEL_TACT_KEY };
};

struct TalentLoadInfo
{
    static constexpr DB2FieldMeta Fields[11] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Description" },
        { false, FT_BYTE, "TierID" },
        { false, FT_BYTE, "Flags" },
        { false, FT_BYTE, "ColumnIndex" },
        { false, FT_BYTE, "ClassID" },
        { false, FT_SHORT, "SpecID" },
        { false, FT_INT, "SpellID" },
        { false, FT_INT, "OverridesSpellID" },
        { false, FT_BYTE, "CategoryMask1" },
        { false, FT_BYTE, "CategoryMask2" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 11, &TalentMeta::Instance, HOTFIX_SEL_TALENT };
};

struct TaxiNodesLoadInfo
{
    static constexpr DB2FieldMeta Fields[20] =
    {
        { false, FT_STRING, "Name" },
        { false, FT_FLOAT, "PosX" },
        { false, FT_FLOAT, "PosY" },
        { false, FT_FLOAT, "PosZ" },
        { false, FT_FLOAT, "MapOffsetX" },
        { false, FT_FLOAT, "MapOffsetY" },
        { false, FT_FLOAT, "FlightMapOffsetX" },
        { false, FT_FLOAT, "FlightMapOffsetY" },
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "ContinentID" },
        { true, FT_INT, "ConditionID" },
        { false, FT_SHORT, "CharacterBitNumber" },
        { true, FT_INT, "Flags" },
        { true, FT_INT, "UiTextureKitID" },
        { true, FT_INT, "MinimapAtlasMemberID" },
        { false, FT_FLOAT, "Facing" },
        { false, FT_INT, "SpecialIconConditionID" },
        { false, FT_INT, "VisibilityConditionID" },
        { true, FT_INT, "MountCreatureID1" },
        { true, FT_INT, "MountCreatureID2" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 20, &TaxiNodesMeta::Instance, HOTFIX_SEL_TAXI_NODES };
};

struct TaxiPathLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "FromTaxiNode" },
        { false, FT_SHORT, "ToTaxiNode" },
        { false, FT_INT, "Cost" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &TaxiPathMeta::Instance, HOTFIX_SEL_TAXI_PATH };
};

struct TaxiPathNodeLoadInfo
{
    static constexpr DB2FieldMeta Fields[11] =
    {
        { false, FT_FLOAT, "LocX" },
        { false, FT_FLOAT, "LocY" },
        { false, FT_FLOAT, "LocZ" },
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "PathID" },
        { true, FT_INT, "NodeIndex" },
        { false, FT_SHORT, "ContinentID" },
        { true, FT_INT, "Flags" },
        { false, FT_INT, "Delay" },
        { true, FT_INT, "ArrivalEventID" },
        { true, FT_INT, "DepartureEventID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 11, &TaxiPathNodeMeta::Instance, HOTFIX_SEL_TAXI_PATH_NODE };
};

struct TotemCategoryLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Name" },
        { false, FT_BYTE, "TotemCategoryType" },
        { true, FT_INT, "TotemCategoryMask" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &TotemCategoryMeta::Instance, HOTFIX_SEL_TOTEM_CATEGORY };
};

struct ToyLoadInfo
{
    static constexpr DB2FieldMeta Fields[5] =
    {
        { false, FT_STRING, "SourceText" },
        { false, FT_INT, "ID" },
        { true, FT_INT, "ItemID" },
        { false, FT_BYTE, "Flags" },
        { true, FT_BYTE, "SourceTypeEnum" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 5, &ToyMeta::Instance, HOTFIX_SEL_TOY };
};

struct TransmogHolidayLoadInfo
{
    static constexpr DB2FieldMeta Fields[2] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "RequiredTransmogHoliday" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 2, &TransmogHolidayMeta::Instance, HOTFIX_SEL_TRANSMOG_HOLIDAY };
};

struct TraitCondLoadInfo
{
    static constexpr DB2FieldMeta Fields[15] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "CondType" },
        { false, FT_INT, "TraitTreeID" },
        { true, FT_INT, "GrantedRanks" },
        { true, FT_INT, "QuestID" },
        { true, FT_INT, "AchievementID" },
        { true, FT_INT, "SpecSetID" },
        { true, FT_INT, "TraitNodeGroupID" },
        { true, FT_INT, "TraitNodeID" },
        { true, FT_INT, "TraitCurrencyID" },
        { true, FT_INT, "SpentAmountRequired" },
        { true, FT_INT, "Flags" },
        { true, FT_INT, "RequiredLevel" },
        { true, FT_INT, "FreeSharedStringID" },
        { true, FT_INT, "SpendMoreSharedStringID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 15, &TraitCondMeta::Instance, HOTFIX_SEL_TRAIT_COND };
};

struct TraitCostLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_STRING_NOT_LOCALIZED, "InternalName" },
        { false, FT_INT, "ID" },
        { true, FT_INT, "Amount" },
        { true, FT_INT, "TraitCurrencyID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &TraitCostMeta::Instance, HOTFIX_SEL_TRAIT_COST };
};

struct TraitCurrencyLoadInfo
{
    static constexpr DB2FieldMeta Fields[5] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "Type" },
        { true, FT_INT, "CurrencyTypesID" },
        { true, FT_INT, "Flags" },
        { true, FT_INT, "Icon" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 5, &TraitCurrencyMeta::Instance, HOTFIX_SEL_TRAIT_CURRENCY };
};

struct TraitCurrencySourceLoadInfo
{
    static constexpr DB2FieldMeta Fields[9] =
    {
        { false, FT_STRING, "Requirement" },
        { false, FT_INT, "ID" },
        { false, FT_INT, "TraitCurrencyID" },
        { true, FT_INT, "Amount" },
        { true, FT_INT, "QuestID" },
        { true, FT_INT, "AchievementID" },
        { true, FT_INT, "PlayerLevel" },
        { true, FT_INT, "TraitNodeEntryID" },
        { true, FT_INT, "OrderIndex" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 9, &TraitCurrencySourceMeta::Instance, HOTFIX_SEL_TRAIT_CURRENCY_SOURCE };
};

struct TraitDefinitionLoadInfo
{
    static constexpr DB2FieldMeta Fields[8] =
    {
        { false, FT_STRING, "OverrideName" },
        { false, FT_STRING, "OverrideSubtext" },
        { false, FT_STRING, "OverrideDescription" },
        { false, FT_INT, "ID" },
        { true, FT_INT, "SpellID" },
        { true, FT_INT, "OverrideIcon" },
        { true, FT_INT, "OverridesSpellID" },
        { true, FT_INT, "VisibleSpellID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 8, &TraitDefinitionMeta::Instance, HOTFIX_SEL_TRAIT_DEFINITION };
};

struct TraitDefinitionEffectPointsLoadInfo
{
    static constexpr DB2FieldMeta Fields[5] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "TraitDefinitionID" },
        { true, FT_INT, "EffectIndex" },
        { true, FT_INT, "OperationType" },
        { true, FT_INT, "CurveID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 5, &TraitDefinitionEffectPointsMeta::Instance, HOTFIX_SEL_TRAIT_DEFINITION_EFFECT_POINTS };
};

struct TraitEdgeLoadInfo
{
    static constexpr DB2FieldMeta Fields[5] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "VisualStyle" },
        { false, FT_INT, "LeftTraitNodeID" },
        { true, FT_INT, "RightTraitNodeID" },
        { true, FT_INT, "Type" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 5, &TraitEdgeMeta::Instance, HOTFIX_SEL_TRAIT_EDGE };
};

struct TraitNodeLoadInfo
{
    static constexpr DB2FieldMeta Fields[6] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "TraitTreeID" },
        { true, FT_INT, "PosX" },
        { true, FT_INT, "PosY" },
        { false, FT_BYTE, "Type" },
        { true, FT_INT, "Flags" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 6, &TraitNodeMeta::Instance, HOTFIX_SEL_TRAIT_NODE };
};

struct TraitNodeEntryLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "TraitDefinitionID" },
        { true, FT_INT, "MaxRanks" },
        { false, FT_BYTE, "NodeEntryType" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &TraitNodeEntryMeta::Instance, HOTFIX_SEL_TRAIT_NODE_ENTRY };
};

struct TraitNodeEntryXTraitCondLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "TraitCondID" },
        { false, FT_INT, "TraitNodeEntryID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &TraitNodeEntryXTraitCondMeta::Instance, HOTFIX_SEL_TRAIT_NODE_ENTRY_X_TRAIT_COND };
};

struct TraitNodeEntryXTraitCostLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "TraitNodeEntryID" },
        { true, FT_INT, "TraitCostID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &TraitNodeEntryXTraitCostMeta::Instance, HOTFIX_SEL_TRAIT_NODE_ENTRY_X_TRAIT_COST };
};

struct TraitNodeGroupLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "TraitTreeID" },
        { true, FT_INT, "Flags" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &TraitNodeGroupMeta::Instance, HOTFIX_SEL_TRAIT_NODE_GROUP };
};

struct TraitNodeGroupXTraitCondLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "TraitCondID" },
        { false, FT_INT, "TraitNodeGroupID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &TraitNodeGroupXTraitCondMeta::Instance, HOTFIX_SEL_TRAIT_NODE_GROUP_X_TRAIT_COND };
};

struct TraitNodeGroupXTraitCostLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "TraitNodeGroupID" },
        { true, FT_INT, "TraitCostID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &TraitNodeGroupXTraitCostMeta::Instance, HOTFIX_SEL_TRAIT_NODE_GROUP_X_TRAIT_COST };
};

struct TraitNodeGroupXTraitNodeLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "TraitNodeGroupID" },
        { true, FT_INT, "TraitNodeID" },
        { true, FT_INT, "Index" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &TraitNodeGroupXTraitNodeMeta::Instance, HOTFIX_SEL_TRAIT_NODE_GROUP_X_TRAIT_NODE };
};

struct TraitNodeXTraitCondLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "TraitCondID" },
        { false, FT_INT, "TraitNodeID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &TraitNodeXTraitCondMeta::Instance, HOTFIX_SEL_TRAIT_NODE_X_TRAIT_COND };
};

struct TraitNodeXTraitCostLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "TraitNodeID" },
        { true, FT_INT, "TraitCostID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &TraitNodeXTraitCostMeta::Instance, HOTFIX_SEL_TRAIT_NODE_X_TRAIT_COST };
};

struct TraitNodeXTraitNodeEntryLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "TraitNodeID" },
        { true, FT_INT, "TraitNodeEntryID" },
        { true, FT_INT, "Index" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &TraitNodeXTraitNodeEntryMeta::Instance, HOTFIX_SEL_TRAIT_NODE_X_TRAIT_NODE_ENTRY };
};

struct TraitTreeLoadInfo
{
    static constexpr DB2FieldMeta Fields[8] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "TraitSystemID" },
        { true, FT_INT, "Unused1000_1" },
        { true, FT_INT, "FirstTraitNodeID" },
        { true, FT_INT, "PlayerConditionID" },
        { true, FT_INT, "Flags" },
        { false, FT_FLOAT, "Unused1000_2" },
        { false, FT_FLOAT, "Unused1000_3" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 8, &TraitTreeMeta::Instance, HOTFIX_SEL_TRAIT_TREE };
};

struct TraitTreeLoadoutLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "TraitTreeID" },
        { true, FT_INT, "ChrSpecializationID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &TraitTreeLoadoutMeta::Instance, HOTFIX_SEL_TRAIT_TREE_LOADOUT };
};

struct TraitTreeLoadoutEntryLoadInfo
{
    static constexpr DB2FieldMeta Fields[6] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "TraitTreeLoadoutID" },
        { true, FT_INT, "SelectedTraitNodeID" },
        { true, FT_INT, "SelectedTraitNodeEntryID" },
        { true, FT_INT, "NumPoints" },
        { true, FT_INT, "OrderIndex" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 6, &TraitTreeLoadoutEntryMeta::Instance, HOTFIX_SEL_TRAIT_TREE_LOADOUT_ENTRY };
};

struct TraitTreeXTraitCostLoadInfo
{
    static constexpr DB2FieldMeta Fields[3] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "TraitTreeID" },
        { true, FT_INT, "TraitCostID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 3, &TraitTreeXTraitCostMeta::Instance, HOTFIX_SEL_TRAIT_TREE_X_TRAIT_COST };
};

struct TraitTreeXTraitCurrencyLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "Index" },
        { false, FT_INT, "TraitTreeID" },
        { true, FT_INT, "TraitCurrencyID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &TraitTreeXTraitCurrencyMeta::Instance, HOTFIX_SEL_TRAIT_TREE_X_TRAIT_CURRENCY };
};

struct TransmogIllusionLoadInfo
{
    static constexpr DB2FieldMeta Fields[5] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "UnlockConditionID" },
        { true, FT_INT, "TransmogCost" },
        { true, FT_INT, "SpellItemEnchantmentID" },
        { true, FT_INT, "Flags" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 5, &TransmogIllusionMeta::Instance, HOTFIX_SEL_TRANSMOG_ILLUSION };
};

struct TransmogSetLoadInfo
{
    static constexpr DB2FieldMeta Fields[13] =
    {
        { false, FT_STRING, "Name" },
        { false, FT_INT, "ID" },
        { true, FT_INT, "ClassMask" },
        { false, FT_INT, "TrackingQuestID" },
        { true, FT_INT, "Flags" },
        { false, FT_INT, "TransmogSetGroupID" },
        { true, FT_INT, "ItemNameDescriptionID" },
        { false, FT_SHORT, "ParentTransmogSetID" },
        { false, FT_BYTE, "Unknown810" },
        { false, FT_BYTE, "ExpansionID" },
        { true, FT_INT, "PatchID" },
        { true, FT_SHORT, "UiOrder" },
        { true, FT_INT, "PlayerConditionID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 13, &TransmogSetMeta::Instance, HOTFIX_SEL_TRANSMOG_SET };
};

struct TransmogSetGroupLoadInfo
{
    static constexpr DB2FieldMeta Fields[2] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Name" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 2, &TransmogSetGroupMeta::Instance, HOTFIX_SEL_TRANSMOG_SET_GROUP };
};

struct TransmogSetItemLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "TransmogSetID" },
        { false, FT_INT, "ItemModifiedAppearanceID" },
        { true, FT_INT, "Flags" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &TransmogSetItemMeta::Instance, HOTFIX_SEL_TRANSMOG_SET_ITEM };
};

struct TransportAnimationLoadInfo
{
    static constexpr DB2FieldMeta Fields[7] =
    {
        { false, FT_INT, "ID" },
        { false, FT_FLOAT, "PosX" },
        { false, FT_FLOAT, "PosY" },
        { false, FT_FLOAT, "PosZ" },
        { false, FT_BYTE, "SequenceID" },
        { false, FT_INT, "TimeIndex" },
        { false, FT_INT, "TransportID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 7, &TransportAnimationMeta::Instance, HOTFIX_SEL_TRANSPORT_ANIMATION };
};

struct TransportRotationLoadInfo
{
    static constexpr DB2FieldMeta Fields[7] =
    {
        { false, FT_INT, "ID" },
        { false, FT_FLOAT, "Rot1" },
        { false, FT_FLOAT, "Rot2" },
        { false, FT_FLOAT, "Rot3" },
        { false, FT_FLOAT, "Rot4" },
        { false, FT_INT, "TimeIndex" },
        { false, FT_INT, "GameObjectsID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 7, &TransportRotationMeta::Instance, HOTFIX_SEL_TRANSPORT_ROTATION };
};

struct UiMapLoadInfo
{
    static constexpr DB2FieldMeta Fields[14] =
    {
        { false, FT_STRING, "Name" },
        { false, FT_INT, "ID" },
        { false, FT_INT, "ParentUiMapID" },
        { true, FT_INT, "Flags" },
        { false, FT_BYTE, "System" },
        { false, FT_BYTE, "Type" },
        { true, FT_INT, "BountySetID" },
        { false, FT_INT, "BountyDisplayLocation" },
        { true, FT_INT, "VisibilityPlayerConditionID2" },
        { true, FT_INT, "VisibilityPlayerConditionID" },
        { true, FT_BYTE, "HelpTextPosition" },
        { true, FT_INT, "BkgAtlasID" },
        { true, FT_INT, "AlternateUiMapGroup" },
        { true, FT_INT, "ContentTuningID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 14, &UiMapMeta::Instance, HOTFIX_SEL_UI_MAP };
};

struct UiMapAssignmentLoadInfo
{
    static constexpr DB2FieldMeta Fields[17] =
    {
        { false, FT_FLOAT, "UiMinX" },
        { false, FT_FLOAT, "UiMinY" },
        { false, FT_FLOAT, "UiMaxX" },
        { false, FT_FLOAT, "UiMaxY" },
        { false, FT_FLOAT, "Region1X" },
        { false, FT_FLOAT, "Region1Y" },
        { false, FT_FLOAT, "Region1Z" },
        { false, FT_FLOAT, "Region2X" },
        { false, FT_FLOAT, "Region2Y" },
        { false, FT_FLOAT, "Region2Z" },
        { false, FT_INT, "ID" },
        { false, FT_INT, "UiMapID" },
        { true, FT_INT, "OrderIndex" },
        { true, FT_INT, "MapID" },
        { true, FT_INT, "AreaID" },
        { true, FT_INT, "WmoDoodadPlacementID" },
        { true, FT_INT, "WmoGroupID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 17, &UiMapAssignmentMeta::Instance, HOTFIX_SEL_UI_MAP_ASSIGNMENT };
};

struct UiMapLinkLoadInfo
{
    static constexpr DB2FieldMeta Fields[12] =
    {
        { false, FT_FLOAT, "UiMinX" },
        { false, FT_FLOAT, "UiMinY" },
        { false, FT_FLOAT, "UiMaxX" },
        { false, FT_FLOAT, "UiMaxY" },
        { false, FT_INT, "ID" },
        { false, FT_INT, "ParentUiMapID" },
        { true, FT_INT, "OrderIndex" },
        { true, FT_INT, "ChildUiMapID" },
        { true, FT_INT, "PlayerConditionID" },
        { true, FT_INT, "OverrideHighlightFileDataID" },
        { true, FT_INT, "OverrideHighlightAtlasID" },
        { true, FT_INT, "Flags" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 12, &UiMapLinkMeta::Instance, HOTFIX_SEL_UI_MAP_LINK };
};

struct UiMapXMapArtLoadInfo
{
    static constexpr DB2FieldMeta Fields[4] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "PhaseID" },
        { true, FT_INT, "UiMapArtID" },
        { false, FT_INT, "UiMapID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 4, &UiMapXMapArtMeta::Instance, HOTFIX_SEL_UI_MAP_X_MAP_ART };
};

struct UiSplashScreenLoadInfo
{
    static constexpr DB2FieldMeta Fields[16] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Header" },
        { false, FT_STRING, "TopLeftFeatureTitle" },
        { false, FT_STRING, "TopLeftFeatureDesc" },
        { false, FT_STRING, "BottomLeftFeatureTitle" },
        { false, FT_STRING, "BottomLeftFeatureDesc" },
        { false, FT_STRING, "RightFeatureTitle" },
        { false, FT_STRING, "RightFeatureDesc" },
        { true, FT_INT, "AllianceQuestID" },
        { true, FT_INT, "HordeQuestID" },
        { false, FT_BYTE, "ScreenType" },
        { true, FT_INT, "TextureKitID" },
        { true, FT_INT, "SoundKitID" },
        { true, FT_INT, "PlayerConditionID" },
        { true, FT_INT, "CharLevelConditionID" },
        { true, FT_INT, "RequiredTimeEventPassed" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 16, &UISplashScreenMeta::Instance, HOTFIX_SEL_UI_SPLASH_SCREEN };
};

struct UnitConditionLoadInfo
{
    static constexpr DB2FieldMeta Fields[26] =
    {
        { false, FT_INT, "ID" },
        { false, FT_BYTE, "Flags" },
        { false, FT_BYTE, "Variable1" },
        { false, FT_BYTE, "Variable2" },
        { false, FT_BYTE, "Variable3" },
        { false, FT_BYTE, "Variable4" },
        { false, FT_BYTE, "Variable5" },
        { false, FT_BYTE, "Variable6" },
        { false, FT_BYTE, "Variable7" },
        { false, FT_BYTE, "Variable8" },
        { true, FT_BYTE, "Op1" },
        { true, FT_BYTE, "Op2" },
        { true, FT_BYTE, "Op3" },
        { true, FT_BYTE, "Op4" },
        { true, FT_BYTE, "Op5" },
        { true, FT_BYTE, "Op6" },
        { true, FT_BYTE, "Op7" },
        { true, FT_BYTE, "Op8" },
        { true, FT_INT, "Value1" },
        { true, FT_INT, "Value2" },
        { true, FT_INT, "Value3" },
        { true, FT_INT, "Value4" },
        { true, FT_INT, "Value5" },
        { true, FT_INT, "Value6" },
        { true, FT_INT, "Value7" },
        { true, FT_INT, "Value8" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 26, &UnitConditionMeta::Instance, HOTFIX_SEL_UNIT_CONDITION };
};

struct UnitPowerBarLoadInfo
{
    static constexpr DB2FieldMeta Fields[27] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Name" },
        { false, FT_STRING, "Cost" },
        { false, FT_STRING, "OutOfError" },
        { false, FT_STRING, "ToolTip" },
        { false, FT_INT, "MinPower" },
        { false, FT_INT, "MaxPower" },
        { false, FT_INT, "StartPower" },
        { false, FT_BYTE, "CenterPower" },
        { false, FT_FLOAT, "RegenerationPeace" },
        { false, FT_FLOAT, "RegenerationCombat" },
        { false, FT_BYTE, "BarType" },
        { false, FT_SHORT, "Flags" },
        { false, FT_FLOAT, "StartInset" },
        { false, FT_FLOAT, "EndInset" },
        { true, FT_INT, "FileDataID1" },
        { true, FT_INT, "FileDataID2" },
        { true, FT_INT, "FileDataID3" },
        { true, FT_INT, "FileDataID4" },
        { true, FT_INT, "FileDataID5" },
        { true, FT_INT, "FileDataID6" },
        { true, FT_INT, "Color1" },
        { true, FT_INT, "Color2" },
        { true, FT_INT, "Color3" },
        { true, FT_INT, "Color4" },
        { true, FT_INT, "Color5" },
        { true, FT_INT, "Color6" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 27, &UnitPowerBarMeta::Instance, HOTFIX_SEL_UNIT_POWER_BAR };
};

struct VehicleLoadInfo
{
    static constexpr DB2FieldMeta Fields[28] =
    {
        { false, FT_INT, "ID" },
        { true, FT_INT, "Flags" },
        { true, FT_INT, "FlagsB" },
        { false, FT_FLOAT, "TurnSpeed" },
        { false, FT_FLOAT, "PitchSpeed" },
        { false, FT_FLOAT, "PitchMin" },
        { false, FT_FLOAT, "PitchMax" },
        { false, FT_FLOAT, "MouseLookOffsetPitch" },
        { false, FT_FLOAT, "CameraFadeDistScalarMin" },
        { false, FT_FLOAT, "CameraFadeDistScalarMax" },
        { false, FT_FLOAT, "CameraPitchOffset" },
        { false, FT_FLOAT, "FacingLimitRight" },
        { false, FT_FLOAT, "FacingLimitLeft" },
        { false, FT_FLOAT, "CameraYawOffset" },
        { false, FT_SHORT, "VehicleUIIndicatorID" },
        { true, FT_INT, "MissileTargetingID" },
        { false, FT_SHORT, "VehiclePOITypeID" },
        { false, FT_SHORT, "SeatID1" },
        { false, FT_SHORT, "SeatID2" },
        { false, FT_SHORT, "SeatID3" },
        { false, FT_SHORT, "SeatID4" },
        { false, FT_SHORT, "SeatID5" },
        { false, FT_SHORT, "SeatID6" },
        { false, FT_SHORT, "SeatID7" },
        { false, FT_SHORT, "SeatID8" },
        { false, FT_SHORT, "PowerDisplayID1" },
        { false, FT_SHORT, "PowerDisplayID2" },
        { false, FT_SHORT, "PowerDisplayID3" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 28, &VehicleMeta::Instance, HOTFIX_SEL_VEHICLE };
};

struct VehicleSeatLoadInfo
{
    static constexpr DB2FieldMeta Fields[66] =
    {
        { false, FT_INT, "ID" },
        { false, FT_FLOAT, "AttachmentOffsetX" },
        { false, FT_FLOAT, "AttachmentOffsetY" },
        { false, FT_FLOAT, "AttachmentOffsetZ" },
        { false, FT_FLOAT, "CameraOffsetX" },
        { false, FT_FLOAT, "CameraOffsetY" },
        { false, FT_FLOAT, "CameraOffsetZ" },
        { true, FT_INT, "Flags" },
        { true, FT_INT, "FlagsB" },
        { true, FT_INT, "FlagsC" },
        { true, FT_BYTE, "AttachmentID" },
        { false, FT_FLOAT, "EnterPreDelay" },
        { false, FT_FLOAT, "EnterSpeed" },
        { false, FT_FLOAT, "EnterGravity" },
        { false, FT_FLOAT, "EnterMinDuration" },
        { false, FT_FLOAT, "EnterMaxDuration" },
        { false, FT_FLOAT, "EnterMinArcHeight" },
        { false, FT_FLOAT, "EnterMaxArcHeight" },
        { true, FT_INT, "EnterAnimStart" },
        { true, FT_INT, "EnterAnimLoop" },
        { true, FT_INT, "RideAnimStart" },
        { true, FT_INT, "RideAnimLoop" },
        { true, FT_INT, "RideUpperAnimStart" },
        { true, FT_INT, "RideUpperAnimLoop" },
        { false, FT_FLOAT, "ExitPreDelay" },
        { false, FT_FLOAT, "ExitSpeed" },
        { false, FT_FLOAT, "ExitGravity" },
        { false, FT_FLOAT, "ExitMinDuration" },
        { false, FT_FLOAT, "ExitMaxDuration" },
        { false, FT_FLOAT, "ExitMinArcHeight" },
        { false, FT_FLOAT, "ExitMaxArcHeight" },
        { true, FT_INT, "ExitAnimStart" },
        { true, FT_INT, "ExitAnimLoop" },
        { true, FT_INT, "ExitAnimEnd" },
        { true, FT_SHORT, "VehicleEnterAnim" },
        { true, FT_BYTE, "VehicleEnterAnimBone" },
        { true, FT_SHORT, "VehicleExitAnim" },
        { true, FT_BYTE, "VehicleExitAnimBone" },
        { true, FT_SHORT, "VehicleRideAnimLoop" },
        { true, FT_BYTE, "VehicleRideAnimLoopBone" },
        { true, FT_BYTE, "PassengerAttachmentID" },
        { false, FT_FLOAT, "PassengerYaw" },
        { false, FT_FLOAT, "PassengerPitch" },
        { false, FT_FLOAT, "PassengerRoll" },
        { false, FT_FLOAT, "VehicleEnterAnimDelay" },
        { false, FT_FLOAT, "VehicleExitAnimDelay" },
        { true, FT_BYTE, "VehicleAbilityDisplay" },
        { false, FT_INT, "EnterUISoundID" },
        { false, FT_INT, "ExitUISoundID" },
        { true, FT_INT, "UiSkinFileDataID" },
        { false, FT_FLOAT, "CameraEnteringDelay" },
        { false, FT_FLOAT, "CameraEnteringDuration" },
        { false, FT_FLOAT, "CameraExitingDelay" },
        { false, FT_FLOAT, "CameraExitingDuration" },
        { false, FT_FLOAT, "CameraPosChaseRate" },
        { false, FT_FLOAT, "CameraFacingChaseRate" },
        { false, FT_FLOAT, "CameraEnteringZoom" },
        { false, FT_FLOAT, "CameraSeatZoomMin" },
        { false, FT_FLOAT, "CameraSeatZoomMax" },
        { true, FT_SHORT, "EnterAnimKitID" },
        { true, FT_SHORT, "RideAnimKitID" },
        { true, FT_SHORT, "ExitAnimKitID" },
        { true, FT_SHORT, "VehicleEnterAnimKitID" },
        { true, FT_SHORT, "VehicleRideAnimKitID" },
        { true, FT_SHORT, "VehicleExitAnimKitID" },
        { true, FT_SHORT, "CameraModeID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 66, &VehicleSeatMeta::Instance, HOTFIX_SEL_VEHICLE_SEAT };
};

struct VignetteLoadInfo
{
    static constexpr DB2FieldMeta Fields[11] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING, "Name" },
        { false, FT_INT, "PlayerConditionID" },
        { false, FT_INT, "VisibleTrackingQuestID" },
        { false, FT_INT, "QuestFeedbackEffectID" },
        { true, FT_INT, "Flags" },
        { false, FT_FLOAT, "MaxHeight" },
        { false, FT_FLOAT, "MinHeight" },
        { true, FT_BYTE, "VignetteType" },
        { true, FT_INT, "RewardQuestID" },
        { true, FT_INT, "UiWidgetSetID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 11, &VignetteMeta::Instance, HOTFIX_SEL_VIGNETTE };
};

struct WmoAreaTableLoadInfo
{
    static constexpr DB2FieldMeta Fields[15] =
    {
        { false, FT_STRING, "AreaName" },
        { false, FT_INT, "ID" },
        { false, FT_SHORT, "WmoID" },
        { false, FT_BYTE, "NameSetID" },
        { true, FT_INT, "WmoGroupID" },
        { false, FT_BYTE, "SoundProviderPref" },
        { false, FT_BYTE, "SoundProviderPrefUnderwater" },
        { false, FT_SHORT, "AmbienceID" },
        { false, FT_SHORT, "UwAmbience" },
        { false, FT_SHORT, "ZoneMusic" },
        { false, FT_INT, "UwZoneMusic" },
        { false, FT_SHORT, "IntroSound" },
        { false, FT_SHORT, "UwIntroSound" },
        { false, FT_SHORT, "AreaTableID" },
        { false, FT_BYTE, "Flags" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 15, &WMOAreaTableMeta::Instance, HOTFIX_SEL_WMO_AREA_TABLE };
};

struct WorldEffectLoadInfo
{
    static constexpr DB2FieldMeta Fields[7] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "QuestFeedbackEffectID" },
        { false, FT_BYTE, "WhenToDisplay" },
        { false, FT_BYTE, "TargetType" },
        { true, FT_INT, "TargetAsset" },
        { false, FT_INT, "PlayerConditionID" },
        { false, FT_SHORT, "CombatConditionID" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 7, &WorldEffectMeta::Instance, HOTFIX_SEL_WORLD_EFFECT };
};

struct WorldMapOverlayLoadInfo
{
    static constexpr DB2FieldMeta Fields[16] =
    {
        { false, FT_INT, "ID" },
        { false, FT_INT, "UiMapArtID" },
        { false, FT_SHORT, "TextureWidth" },
        { false, FT_SHORT, "TextureHeight" },
        { true, FT_INT, "OffsetX" },
        { true, FT_INT, "OffsetY" },
        { true, FT_INT, "HitRectTop" },
        { true, FT_INT, "HitRectBottom" },
        { true, FT_INT, "HitRectLeft" },
        { true, FT_INT, "HitRectRight" },
        { false, FT_INT, "PlayerConditionID" },
        { false, FT_INT, "Flags" },
        { false, FT_INT, "AreaID1" },
        { false, FT_INT, "AreaID2" },
        { false, FT_INT, "AreaID3" },
        { false, FT_INT, "AreaID4" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 16, &WorldMapOverlayMeta::Instance, HOTFIX_SEL_WORLD_MAP_OVERLAY };
};

struct WorldStateExpressionLoadInfo
{
    static constexpr DB2FieldMeta Fields[2] =
    {
        { false, FT_INT, "ID" },
        { false, FT_STRING_NOT_LOCALIZED, "Expression" },
    };

    static constexpr DB2LoadInfo Instance{ Fields, 2, &WorldStateExpressionMeta::Instance, HOTFIX_SEL_WORLD_STATE_EXPRESSION };
};

#endif // DB2LoadInfo_h__
